<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Fractastical</title>
	<atom:link href="http://fractastical.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fractastical.com</link>
	<description>Salesforce, Ruby, jQuery and more</description>
	<lastBuildDate>Thu, 05 Jan 2012 07:48:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='fractastical.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Fractastical</title>
		<link>http://fractastical.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://fractastical.com/osd.xml" title="Fractastical" />
	<atom:link rel='hub' href='http://fractastical.com/?pushpress=hub'/>
		<item>
		<title>Blogs, Social Media, CMSes : 2011 Year End Review</title>
		<link>http://fractastical.com/2011/12/21/blogs-social-media-cmses-2011-year-end-review/</link>
		<comments>http://fractastical.com/2011/12/21/blogs-social-media-cmses-2011-year-end-review/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 12:15:37 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[CMSes]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Hacker News]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=608</guid>
		<description><![CDATA[Every once and awhile I try to go through my records and see what sort of assets I have out there floating around on the web. I&#8217;ll put this in the form of a list and then put a few lessons learned. Blogs: WordPress.com (1 owner, 2 contributor), WordPress.org (2 owner), Tumblr (1), Posterous (1), [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=608&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Every once and awhile I try to go through my records and see what sort of assets I have out there floating around on the web. I&#8217;ll put this in the form of a list and then put a few lessons learned.</p>
<p><strong>Blogs</strong>: WordPress.com (1 owner, 2 contributor), WordPress.org (2 owner), Tumblr (1), Posterous (1), Blogger (3, all defunct). Also had several Ruby-powered blogs all gone.<br />
<strong>Social Media</strong>: Twitter (1 business, 1 personal, 1 product, contribute to 2 others), Facebook (1 + 1 page), Google+ (1 + 1 page)<br />
<strong>Hosts</strong>: Dreamhost (1), Yahoo (1), Linode VPS (1)<br />
<strong>CMS</strong>: WordPress (2), Refinery CMS (1), Hardcoded HTML (1)<br />
<strong>Discussion Boards</strong>: PhPBB (1), Invasion Power (1). Contribute to a few others.<br />
<strong>Domains</strong>: Yahoo (9), Network Solutions (1), Dreamhost (1), Godaddy (1).</p></blockquote>
<p><strong>News Aggregators</strong>: Hacker News (2) </p>
<p>From top to bottom:</p>
<p><a href="http://fractastical.files.wordpress.com/2011/12/wordpress-logo.jpg"><img src="http://fractastical.files.wordpress.com/2011/12/wordpress-logo.jpg?w=300&#038;h=244" alt="" title="Wordpress-logo" width="300" height="244" class="alignleft size-medium wp-image-616" /></a><strong>Blogs</strong>: No clear lesson from the blog world, only that at the moment it makes sense to have multiple blogs divided by topic. I have <a href="http://www.titaniainc.com/blog/">a company blog</a>, a developer blog (this one), <a href="http://fractastical.posterous.com/">a &#8220;work&#8221; essay blog</a>, <a href="http://idiots.dunedain.net">a personal essay blog</a>, and <a href="http://www.sundancer.eu">an art/inspiration-of-the-moment tumblog</a>. Over time moved to feature-rich easily-maintainable hosted options from more custom options, don&#8217;t plan to go back. That said, I miss the nice syntax highlighting available not on WordPress.com, which is probably the major reason why I am planning to move this blog over to wordpress.org in the near future. </p>
<p><strong>Social Media</strong>: Twitter, and particularly my <a href="http://twitter.com/#!/fractastical">&#8220;work&#8221; twitter</a> account gets the most attention (I put it in quotes because my I don&#8217;t believe that work should ever be work, but rather fun and I try to keep things that way). My personal twitter gets barely any love. Facebook for me is now 60% liking things from the &#8220;work&#8221; world and 40% personal updates, which seems a bit odd. Google+ is an outlet for nerdy things that I don&#8217;t think will be appreciable to a more general audience. </p>
<p><strong>Hosts</strong>: I&#8217;m a legacy customer of Yahoo from when they were great. I am very happy with Dreamhost but it is too much hassle to move all of my websites over there. </p>
<p><strong>CMS</strong>: I&#8217;ve run virtually every CMS known to man at some point and at this point I actually don&#8217;t see any need for most sites for anything more complicated than WordPress. I just spent some time with two Ruby CMSes (Locomotive and Refinery) but would never recommend them to anyone who doesn&#8217;t want to spend a rather substantial amount of time tinkering in order to get it up and running for what is, in general, a less capable system (that said, you can extend it yourself, which is cool).</p>
<p><strong>Discussion Boards</strong>: Was happy with PhpBB for a long time but at some point lost the time/interest to make all the modifications to optimize it. Been experimenting with other options (vBulletin/IPB) but haven&#8217;t had the time to pick one. Paying for IPB but not using it. </p>
<p><strong>Domains</strong>: I&#8217;ve greatly reduced my number of parked domains, largely because I was all on Yahoo and they more than tripled their prices. Not too sure that this was the right decision, but absolutely hated Godaddy and it was too much of a pain to transfer domains. Still looking for a good, cheap host to park domains for future ideas if anyone has a suggestion. I like Network Solutions okay but they just spammed me with &#8220;.XXX&#8221; domain advertisements which I didn&#8217;t appreciate. </p>
<p> <a href="http://fractastical.files.wordpress.com/2011/12/ycombinator-logo1.gif"><img src="http://fractastical.files.wordpress.com/2011/12/ycombinator-logo1.gif?w=300&#038;h=300" alt="" title="ycombinator-logo" width="300" height="300" class="alignright size-medium wp-image-613" /></a><br />
<strong>News Aggregator</strong>: 2011 was the year when I basically stopped reading all news not immediately relevant to what I was doing, perhaps because I find it a generally depressing waste of time (I used to read the Economist cover to cover and follow a bunch of other publications). The major winner here is Hacker News. I use two accounts, one for general posting and one for commenting on things which I expect will be controversial (Hacker News has a bunch of &#8220;karma police&#8221; that, in what I believe to be a generally laudable attempt to maintain high comment quality, frequently go overboard in downmodding non-mainstream viewpoints).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/608/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/608/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/608/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=608&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/12/21/blogs-social-media-cmses-2011-year-end-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>

		<media:content url="http://fractastical.files.wordpress.com/2011/12/wordpress-logo.jpg?w=300" medium="image">
			<media:title type="html">Wordpress-logo</media:title>
		</media:content>

		<media:content url="http://fractastical.files.wordpress.com/2011/12/ycombinator-logo1.gif?w=300" medium="image">
			<media:title type="html">ycombinator-logo</media:title>
		</media:content>
	</item>
		<item>
		<title>jQuery UI for Salesforce</title>
		<link>http://fractastical.com/2011/12/08/jquery-ui-for-salesforce/</link>
		<comments>http://fractastical.com/2011/12/08/jquery-ui-for-salesforce/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 15:30:47 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[Github]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=604</guid>
		<description><![CDATA[jQuery UI for Salesforce provides a complete set of jQuery powered elements that can be used instead of the standard elements. This includes automatic client-side validation. A page showing the jQuery elements compared with standard elements can be found here. Usage Complete specifications follow for each enhanced component: Text: You can also force there to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=604&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>jQuery UI for Salesforce provides a complete set of jQuery powered elements that can be used instead of the standard elements. This includes automatic client-side validation. </p>
<p>A page showing the jQuery elements compared with standard elements can be found <a href="http://ui-enhancements-developer-edition.na7.force.com/testEnhancedComponents">here</a>.</p>
<p><strong>Usage</strong></p>
<p>Complete specifications follow for each enhanced component:</p>
<p>Text:</p>
<p><pre class="brush: java;">
&lt;c:enhancedText pageController=&quot;{!this}&quot; fieldName=&quot;Text__c&quot;   /&gt;
</pre></p>
<p>You can also force there to be both a uppercase and lowercase letters by telling to to validate as a name:</p>
<p><pre class="brush: java;">
&lt;c:enhancedText pageController=&quot;{!this}&quot; fieldName=&quot;Text__c&quot;  validateAs=&quot;name&quot; /&gt;
</pre></p>
<p>Email:</p>
<p><pre class="brush: java;">
&lt;c:enhancedText pageController=&quot;{!this}&quot; fieldName=&quot;Email__c&quot;  validateAs=&quot;email&quot; /&gt;
</pre></p>
<p>Number (Double):</p>
<p><pre class="brush: java;"> &lt;c:enhancedText pageController=&quot;{!this}&quot; fieldName=&quot;Number__c&quot; validateAs=&quot;number&quot; /&gt;
</pre></p>
<p>Percent:</p>
<p><pre class="brush: java;">
&lt;c:enhancedText pageController=&quot;{!this}&quot; fieldName=&quot;Percent__c&quot; validateAs=&quot;percent&quot; /&gt;
</pre></p>
<p>Checkbox (Boolean):</p>
<p><pre class="brush: java;">
&lt;c:enhancedCheckbox pageController=&quot;{!this}&quot; fieldName=&quot;Checkbox__c&quot;   /&gt;
</pre></p>
<p>Phone:</p>
<p><pre class="brush: java;">
&lt;c:enhancedText pageController=&quot;{!this}&quot; fieldName=&quot;Phone__c&quot;  validateAs=&quot;phone&quot; /&gt;
</pre></p>
<p>Defaults to international phone, for US domestic phone use:</p>
<p><pre class="brush: java;">
&lt;c:enhancedText pageController=&quot;{!this}&quot; fieldName=&quot;Phone__c&quot;  validateAs=&quot;phoneus&quot; /&gt;
</pre><br />
Picklist:</p>
<p><pre class="brush: java;">
&lt;c:enhancedSelect fieldName=&quot;Picklist__c&quot; pageController=&quot;{!this}&quot; object=&quot;{!TestObject__c}&quot; /
</pre></p>
<p>Multi-Picklist (Multiselect)</p>
<p> <pre class="brush: java;">
&lt;c:enhancedMultiselect pageController=&quot;{!this}&quot; fieldName=&quot;Picklist_Multi_Select__c&quot; object=&quot;{!TestObject__c}&quot;  /
</pre></p>
<p>Lookup (Reference) :</p>
<p><pre class="brush: java;">
&lt;c:enhancedLookup pageController=&quot;{!this}&quot; fieldName=&quot;Test_Lookup_Object__c&quot; objectToLookup=&quot;TestLookupObject__c&quot; /&gt;
</pre></p>
<p>Lookup (Reference) :</p>
<p><pre class="brush: java;">
&lt;c:enhancedLookup pageController=&quot;{!this}&quot; fieldName=&quot;Test_Lookup_Object__c&quot; objectToLookup=&quot;TestLookupObject__c&quot; /&gt;
</pre></p>
<p>Textarea :</p>
<p>   <pre class="brush: java;">
&lt;c:enhancedTextarea pageController=&quot;{!this}&quot; fieldName=&quot;Text_Area__c&quot; expandable=&quot;true&quot; width=&quot;145&quot; height=&quot;50&quot; /&gt;
</pre></p>
<p><strong>Controller:</strong></p>
<p>(1) Install enhanced components via unmanaged package install <a href="https://login.salesforce.com/?startURL=%2Fpackaging%2FinstallPackage.apexp%3Fp0%3D04tA0000000DgVw">link</a>.</p>
<p>(2) Have your main controller (which can be a standard controller) extend PageControllerBase:</p>
<p><pre class="brush: java;">
public with sharing class DemoPageController extends PageControllerBase
</pre></p>
<p>If you want to use a standard controller include this:</p>
<p><pre class="brush: java;">
	  public DemoPageController(ApexPages.StandardController controller) {
	    	standardCon = controller;
	        this.myObject = controller.getRecord();
	  }
</pre></p>
<p>Then include this function:</p>
<p><pre class="brush: java;">
	  // First we save the values from the Enhanced Component controllers, then whatever standard fields there are.
	  // If you are using standard fields in addition to enhanced components, whichever method is utilizing fields required by the API should always be in the first position

	 public PageReference save()
	 {
	  	ecSave();
	  	standardCon.save();

	  	return null;
	 }

</pre></p>
<p><strong>Page:</strong></p>
<p>Include your favorite jQuery UI theme easily:<br />
<pre class="brush: plain;">
    &lt;apex:stylesheet value=&quot;{!URLFOR($Resource.JQueryUICup,'development-bundle/themes/cupertino/jquery.ui.all.css')}&quot;/&gt;
</pre></p>
<p>See how standard themes will look by choosing the switch theme option on <a href="http://ui-enhancements-developer-edition.na7.force.com/">this page</a>.  You can also easily create your own theme with <a href="http://jqueryui.com/themeroller/">Themeroller</a>.</p>
<p>On your page you will also need to enable validation.</p>
<p>The easiest way is to assign a form styleClass element to your form declaration:</p>
<p><pre class="brush: plain;">&lt;apex:form styleClass=&quot;form&quot; &gt;</pre></p>
<p>Then just before you close your form tag add an action function:</p>
<p><pre class="brush: plain;">
       &lt;apex:actionFunction action=&quot;{!pageController.save}&quot; name=&quot;saveMe&quot;&gt;&lt;/apex:actionFunction&gt;
  &lt;/apex:form&gt;
</pre></p>
<p>Then add the automatically generated javascript:</p>
<p><pre class="brush: plain;">
    &lt;apex:outputText escape=&quot;false&quot; value=&quot;{!pageController.completeJavascript}&quot;/&gt;
</pre></p>
<p>This line will not only add hotlinks to the Google and Microsoft CDNs (for JQuery, JQueryUI and JQuery validation plugin), it will enable validation any form with a form class and add all of the necessary methods for validation.</p>
<p>If you don&#8217;t want to use the automagic client-side validation, hotlink the necessary CDNs manually:</p>
<p><pre class="brush: plain;">
    &lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;/&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js&quot;/&gt;
</pre></p>
<p>Here is a list of all of the Plugins currently included:</p>
<blockquote><p>
JQuery UI 1.8<br />
<a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">JQuery Validation</a> (Joern Zaefferer)<br />
<a href="http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/">Autocomplete 1.1.1</a> (Joern Zaefferer)<br />
<a href="http://brandonaaron.net/code/expandable/docs">Expandable 1.0</a> (Brandon Aaron)<br />
<a href="http://www.filamentgroup.com/lab/jquery_ui_selectmenu_an_aria_accessible_plugin_for_styling_a_html_select/">Select Menu</a> (Filament Group)<br />
<a href="http://www.erichynds.com/jquery/jquery-multiselect-plugin-with-themeroller-support/">Multiselect 0.6</a> (Eric Hynds)</p></blockquote>
<p><a href="https://github.com/fractastical/jQuery-for-Salesforce">Github repo here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/604/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/604/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=604&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/12/08/jquery-ui-for-salesforce/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>
	</item>
		<item>
		<title>Sample Ruby on Rails app with the Databasedotcom gem</title>
		<link>http://fractastical.com/2011/11/21/my-first-ruby-on-rails-app-with-the-databasedotcom-gem/</link>
		<comments>http://fractastical.com/2011/11/21/my-first-ruby-on-rails-app-with-the-databasedotcom-gem/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 23:43:45 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[Database.com]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[databasedotcom]]></category>
		<category><![CDATA[databasedotcom-rails]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=587</guid>
		<description><![CDATA[In this tutorial we will go from zero to ninja speed in approximately ten minutes. If you have problems approaching ninja speed, it is probably because you are in ruby version management hell, gem dependency hell, or any other number of hells that brave would-be ninjas are occasionally trapped in. Should you end up here, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=587&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this tutorial we will go from zero to ninja speed in approximately ten minutes. If you have problems approaching ninja speed, it is probably because you are in ruby version management hell, gem dependency hell, or any other number of hells that brave would-be ninjas are occasionally trapped in. Should you end up here, prayer and Google may help you.</p>
<p><strong>Step one: Create your rails app.</strong></p>
<p><pre class="brush: plain;"> rails new ninjaspeed </pre></p>
<p><strong>Step two: Add the database.com and helper gem to your GEMFILE (this will be in the ninjaspeed directory) </strong></p>
<p><pre class="brush: plain;"> gem 'databasedotcom'
 gem 'databasedotcom-rails' </pre></p>
<p>Also add the postgres gem (you aren&#8217;t using the db on Heroku but need it anyways) and a gem to handle precompiled javascript (for the JQuery Mobile):</p>
<p><pre class="brush: plain;"> gem 'pg'
gem 'therubyracer'
 </pre></p>
<p><strong>Step three: Install the new gems </strong></p>
<p><pre class="brush: plain;">sudo bundle install</pre></p>
<p><strong>Step four: Add scaffolding for a new resource that corresponds to a resource in Salesforce</strong></p>
<p><pre class="brush: plain;"> rails generate scaffold_controller Lead FirstName:String LastName:String Company:String </pre></p>
<p>Add an entry in your routes.rb file<br />
<pre class="brush: ruby;"> resources :leads
</pre></p>
<p>Rails is straight up MVC, and you just created a controller and a view. Check out your app/controllers and app/views folders to see them. Salesforce/Database.com will be your Model. </p>
<p><strong>Step five: Deploy this baby to Heroku</strong></p>
<p><pre class="brush: bash;"> 
git init 
git add .
git commit -m &quot;i love databasedotcom&quot;
heroku create
git push heroku master
heroku addons add:piggyback_ssl
</pre></p>
<p><strong>Step six: Take the new funky fantastic name you got and enable remote access in Salesforce</strong><br />
<pre class="brush: plain;">
Login to salesforce. Go to Setup -&gt; Develop -&gt; Remote Access -&gt; New 

Enter the address of your app (e.g. https://stormin'-samurai-558.herokuapp.com)

You will get a client key (this is also the client_id) and your client secret 
</pre></p>
<p><strong>Step seven: Add your salesforce credentials to a file in the config folder called databasedotcom.yml</strong></p>
<p><pre class="brush: plain;"> 
databasedotcom.yml
####
client_id: 3MVG.....
client_secret: 1323224123...
username: mysalesforceusername@login.com
password: passwordPlusSecToken
host: login.salesforce.com &lt;-- use test.salesforcecom if using a sandbox
debugging: true
</pre><br />
<strong>Step eight: Connect your app to Salesforce</strong></p>
<p>Add this to your app/controllers/leads_controller<br />
<pre class="brush: plain;"> 
LeadsController &lt; ApplicationController
  include Databasedotcom::Rails::Controller
</pre></p>
<p>In the same file you need to add a few more required fields. Navigate to the create method and add three lines:<br />
<pre class="brush: plain;"> 
  def create
    @lead = Lead.new(params[:lead])

    # ADD ME
    @lead['OwnerId'] = '005U0000000IekIIAS'    &lt;-- ownerId here is the Id of the User you want the Lead associated with
    @lead['IsConverted'] = false
    @lead['IsUnreadByOwner'] = true
    # END
</pre></p>
<p>Thanks to some backend magic, the databasedotcom-rails gem automatically initializes the client you need to connect to salesforce so you don&#8217;t have to worry about it.  </p>
<p><strong>Step eight: Add in a jQuery mobile stylesheet so this doesn&#8217;t look super ghetto (optional)</strong><br />
Navigate to app/views/layouts/application.html.erb and edit these lines to the header:</p>
<p><pre class="brush: xml;">&lt;link rel=&quot;stylesheet&quot; href=&quot;http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css&quot; /&gt;
&lt;script src=&quot;http://code.jquery.com/jquery-1.6.4.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js&quot;&gt;&lt;/script&gt;</pre></p>
<p>Put the yield tag in the body in a div like so:<br />
 <pre class="brush: ruby;">
&lt;div data-role=&quot;page&quot;&gt;
   &lt;%= yield %&gt;  
&lt;/div&gt;
</pre></p>
<p>For your apps/views/leads/new.html.erb, divide into a couple of sections<br />
 <pre class="brush: ruby;">
&lt;div data-role=&quot;header&quot;&gt;
   Lead form
&lt;/div&gt;
&lt;div data-role=&quot;content&quot;&gt;
   &lt;%= render 'form' %&gt;
&lt;/div&gt;
&lt;div data-role=&quot;footer&quot;&gt;
   If you want it
&lt;/div&gt;
</pre></p>
<p>Navigate to <strong>config/environments/production.rb, find the config.assets.compile, and set it to true (turn on the live compiliation of assets)<br />
</strong></p>
<p><pre class="brush: plain;">
  config.assets.compile = true
</pre></p>
<p><strong>Step nine: Remove extra stuff from your _form.html.erb/strong</p>
<p>This is all you need:<br />
<pre class="brush: ruby;">
&lt;%= form_for(@lead) do |f| %&gt;

  &lt;div class=&quot;field&quot;&gt;
    &lt;%= f.label :FirstName %&gt;&lt;br /&gt;
    &lt;%= f.text_field :FirstName %&gt;
  &lt;/div&gt;
  &lt;div class=&quot;field&quot;&gt;
    &lt;%= f.label :LastName %&gt;&lt;br /&gt;
    &lt;%= f.text_field :LastName %&gt;
  &lt;/div&gt;
  &lt;div class=&quot;field&quot;&gt;
    &lt;%= f.label :Company %&gt;&lt;br /&gt;
    &lt;%= f.text_field :Company %&gt;
  &lt;/div&gt;
  &lt;div class=&quot;actions&quot;&gt;
    &lt;%= f.submit %&gt;
  &lt;/div&gt;
&lt;% end %&gt;
</pre></p>
<p><strong>Step ten: Deploy to Heroku</strong></p>
<p><pre class="brush: bash;">
git add .
git commit -m &quot;I love databasedotcom even more now&quot;
git push heroku master
</pre></p>
<p>Navigate to yourapp.heroku.com/lead/new, and presto-chango, a mobile-enabled submission form that hooks up to Salesforce. </p>
<p>You can also view leads in the system by navigating to yourapp.heroku.com/leads</p>
<p>Also, if you want to add in validation (and I suggest it) you can do this client-side rather than serverside.</p>
<p>Oh, and in case you were wondering the source code for all this is available <a href="https://github.com/fractastical/databasedotcom-rails-app">on Github</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/587/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/587/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/587/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=587&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/11/21/my-first-ruby-on-rails-app-with-the-databasedotcom-gem/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>
	</item>
		<item>
		<title>Save the Internet</title>
		<link>http://fractastical.com/2011/11/16/save-the-internet/</link>
		<comments>http://fractastical.com/2011/11/16/save-the-internet/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 18:01:26 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[The Internet]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=585</guid>
		<description><![CDATA[Please contact your congressperson today.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=585&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class='embed-vimeo' style='text-align:center;'><iframe src='http://player.vimeo.com/video/31100268' width='400' height='300' frameborder='0'></iframe></div>
<p>Please contact your congressperson today. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/585/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=585&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/11/16/save-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>
	</item>
		<item>
		<title>Update yo&#8217; Git Submodule</title>
		<link>http://fractastical.com/2011/11/14/update-yo-git-submodule/</link>
		<comments>http://fractastical.com/2011/11/14/update-yo-git-submodule/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 19:13:51 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=579</guid>
		<description><![CDATA[You have a git submodule. You want to update it (e.g. get the newest freshest code). Here&#8217;s what you do: I&#8217;ve already initialized my submodule of course: At some point later I try this. Ha ha you fool! This only gets you the copy that your submodule is already frozen at. Try this instead: Yes, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=579&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>You have a git submodule. You want to update it (e.g. get the newest freshest code). Here&#8217;s what<br />
you do:</p>
<p>I&#8217;ve already initialized my submodule of course:</p>
<p><pre class="brush: plain;">git submodule add git@github.com:mysubmodule mySubmoduleDir</pre></p>
<p>At some point later I try this.<br />
<pre class="brush: plain;">git submodule update </pre></p>
<p>Ha ha you fool! This only gets you the copy that your submodule is already frozen at.</p>
<p>Try this instead: </p>
<p><pre class="brush: plain;">cd mySubmoduleDirectory
git checkout master
git pull
</pre></p>
<p>Yes, I was the fool. You can go away now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/579/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/579/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/579/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=579&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/11/14/update-yo-git-submodule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>
	</item>
		<item>
		<title>Secrets of a Javascript Ninja</title>
		<link>http://fractastical.com/2011/11/13/secrets-of-a-javascript-ninja/</link>
		<comments>http://fractastical.com/2011/11/13/secrets-of-a-javascript-ninja/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 13:12:56 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=573</guid>
		<description><![CDATA[I stayed up until around three in the morning one night last week finishing this super addictive and awesome tutorial by jQuery creator John Resig. I&#8217;ve been through some little ditty tutorials on closures and had people attempt to explain what it is before, but Resig&#8217;s tutorial is to your average online tutorial what a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=573&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I stayed up until around three in the morning one night last week finishing this <a href="http://ejohn.org/apps/learn/">super addictive and awesome tutorial</a> by jQuery creator John Resig.  <a href="http://fractastical.files.wordpress.com/2011/11/wiener-wuerstchen.jpg"><img src="http://fractastical.files.wordpress.com/2011/11/wiener-wuerstchen.jpg?w=300&#038;h=182" alt="" title="wiener-wuerstchen" width="300" height="182" class="alignright size-medium wp-image-575" /></a>  I&#8217;ve been through some little ditty tutorials on closures and had people attempt to explain what it is before, but Resig&#8217;s tutorial is to your average online tutorial what a tanto is to a wiener.  </p>
<p>Even though in a certain sense I&#8217;ve never met a wiener I didn&#8217;t like, I&#8217;d prefer that if you were fighting on my side you had a proper weapon &#8211;<br />
<a href="http://fractastical.files.wordpress.com/2011/11/tanto.png"><img src="http://fractastical.files.wordpress.com/2011/11/tanto.png?w=300&#038;h=201" alt="" title="Tanto" width="300" height="201" class="alignright size-medium wp-image-574" /></a>  and no matter how many skillz you got, it always helps to sharpen them.</p>
<p>Part of the reason I like this approach so much is that there is very little unnecessary baggage. You figure out what you need to by reading the code, with a few quizzes where you write some code so that the lessons sink in. As things stand I think the quizzes are a little bit under-developed, and as a whole it could probably be a bit more content as far as examples and gradually developing a theme, but hey JResig has a <a href="http://jsninja.com/">whole book</a> coming out soon. Another fantastic feature is that you can edit each example as you go along, so if something is not immediately obvious you can tweak it or can add in the necessary log statements.  </p>
<p>As far as this goes, I believe this is the future of programming education (and education in general). Less paper, less explanation, more interaction, more cementing of the material. In other words, less talking, more doing. </p>
<p>Keep in mind this is a Ninja-level tutorial, so it assumes a fair bit of knowledge of Javascript that you probably won&#8217;t have if you&#8217;ve just been waving around a wiener. That said and despite some rough edges, I will repeat and say it is the best online tutorial I have ever seen.</p>
<p>Here are some highlights:</p>
<p>   Context &#8211; One of the funkier bits of JS.<br />
   Closures &#8211; Show don&#8217;t tell. Love it!<br />
   Function Prototypes &#8211; A lot you can do here but tricky to get right<br />
   Inheritance &#8211; You have to understand this well if you are doing any Advanced Javascript</p>
<p>Truly awesome is when you get to see how all the building blocks fit together towards the end of the book as Resig appropriate <a href="http://ejohn.org/apps/learn/#83">builds up to</a> (rather than dissects) the Prototype bind function.</p>
<p>I end with this beautiful example:</p>
<p><pre class="brush: jscript;">
var ninja = { 
  yell: function(n){ 
    return n &gt; 0 ? ninja.yell(n-1) + &quot;a&quot; : &quot;hiy&quot;; 
  } 
}; 
</pre></p>
<p>In case you were wondering, we are hiring ninjas over at <a href="http://www.tquila.com">Tquila</a>. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/573/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/573/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/573/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=573&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/11/13/secrets-of-a-javascript-ninja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>

		<media:content url="http://fractastical.files.wordpress.com/2011/11/wiener-wuerstchen.jpg?w=300" medium="image">
			<media:title type="html">wiener-wuerstchen</media:title>
		</media:content>

		<media:content url="http://fractastical.files.wordpress.com/2011/11/tanto.png?w=300" medium="image">
			<media:title type="html">Tanto</media:title>
		</media:content>
	</item>
		<item>
		<title>Infinite Recaptcha on Facebook</title>
		<link>http://fractastical.com/2011/11/11/infinite-recaptcha-on-facebook/</link>
		<comments>http://fractastical.com/2011/11/11/infinite-recaptcha-on-facebook/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 16:53:30 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[infinite]]></category>
		<category><![CDATA[recaptcha]]></category>
		<category><![CDATA[reload]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=568</guid>
		<description><![CDATA[Today I was performing some maintanence in Facebook and got caught in a wonderful infinite recaptcha loop, where Facebook asked me for my password, got it, asked me to fill out a recaptcha, I filled it out, and then kept asking me to fill out more and more recaptchas. I gave up after about ten. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=568&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I was performing some maintanence in Facebook and got caught in a wonderful infinite recaptcha loop, where Facebook asked me for my password, got it, asked me to fill out a recaptcha, I filled it out, and then kept asking me to fill out more and more recaptchas. I gave up after about ten. I tried again later and same problem.</p>
<p>If you are experiencing this problem, the solution is probably to switch accounts. In my case I was in as one of my Page accounts instead of my normal accounts. Once I switched back recaptcha worked as usual.</p>
<p>Hope this helps someone!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/568/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/568/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/568/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=568&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/11/11/infinite-recaptcha-on-facebook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>
	</item>
		<item>
		<title>Ruby Sessions at Dreamforce</title>
		<link>http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/</link>
		<comments>http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 11:20:20 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[Dreamforce]]></category>
		<category><![CDATA[Heroku]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=553</guid>
		<description><![CDATA[Dreamforce is crazy. So many sessions, so many people to see, so little time. Moreover, there were a bunch of sessions related to Ruby, and it wasn&#8217;t always easy to know what sort of content would be covered ahead of time (esp. since some of them were added at the last minute). I will summarize [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=553&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://fractastical.files.wordpress.com/2011/10/bildschirmfoto-2011-10-21-um-13-14-59.png"><img src="http://fractastical.files.wordpress.com/2011/10/bildschirmfoto-2011-10-21-um-13-14-59.png?w=300&#038;h=267" alt="" title="Ruby + Salesforce (from our presentation)" width="300" height="267" class="alignright size-medium wp-image-557" /></a>Dreamforce is crazy. So many sessions, so many people to see, so little time. Moreover, there were a bunch of  sessions related to Ruby, and it wasn&#8217;t always easy to know what sort of content would be covered ahead of time (esp. since some of them were added at the last minute).</p>
<p>I will summarize here all of the sessions covering Heroku and Ruby along with what you should know about the status of Ruby right now in the enterprise world, then present a summary and evaluation of Dreamforce presentations as a whole. It&#8217;s worth mentioning that all of these are among the most popular sessions, both from impressions at Dreamforce and Youtube views afterwards.</p>
<p>From high-level to very technical:</p>
<p><span style="text-align:center; display: block;"><a href="http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/"><img src="http://img.youtube.com/vi/b-7upB1OGzw/2.jpg" alt="" /></a></span><br />
<strong>Platform State of the Union</strong><br />
The Platform State of the Union is the one *must* attend event for all developers. Highlights were the vision for the future of the platform by Byron Sebastian (former CEO Heroku, now Senior Vice President of Platform Technology), from 2:01-6:30, an appearance by the creator of Ruby and now, employee at Heroku, Matz, 6:40 &#8211; 8:40, as well as an extensive example from Barry Newman of Saveology of utilization of Heroku and Force.com platforms 35:48 &#8211; 45:00, followed and preceded by comments by Dave Carroll, Director of Dev Evangelism for Salesforce. </p>
<p><span style="text-align:center; display: block;"><a href="http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/"><img src="http://img.youtube.com/vi/QsMNPtO2fWo/2.jpg" alt="" /></a></span><br />
<strong>Heroku in the Enterprise</strong><br />
<em>Oren Teich, COO @ Heroku</em><br />
Very visually compelling and enthusiastic presentation by Oren Teich that gives a good introduction to the Heroku platform. Appropriately emphasized the core strengths of Heroku,&#8221;You as a developer have complete control over what is going on in your app.&#8221; Didn&#8217;t quite connect the dots as far as what would be compelling use cases for existing Salesforce customers. Nonetheless, my favorite presentation at Dreamforce. </p>
<p><span style="text-align:center; display: block;"><a href="http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/"><img src="http://img.youtube.com/vi/IyRevp20CLM/2.jpg" alt="" /></a></span><br />
<strong>Connecting Ruby Apps with Force.com</strong><br />
<em>Alex Sutherland (Mavens) and Joel Dietz (me!)</em><br />
Originally slated to be a more technical presentation, ended up being a high-level presentation of the use cases for hybrid apps that leverage the strengths of using the right tool for the right job. Also gives the history of Ruby integrations from the folks with the most experience (mainly Alex). Presented some compelling use cases for Ruby/Heroku utilization (although Joel Dietz said &#8220;umm&#8221; too many times, esp. at the beginning).</p>
<p><span style="text-align:center; display: block;"><a href="http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/"><img src="http://img.youtube.com/vi/7zeGJLXd600/2.jpg" alt="" /></a></span><br />
<strong>Building and Deploying Great Applications with Salesforce, Ruby, and Heroku </strong><br />
<em>Danny Burkes, Pivotal Labs</em><br />
Presentation by lead developer on how to use the new Database.com gem released by Salesforce at Dreamforce (see <a href="http://fractastical.com/2011/09/01/getting-started-with-the-databasedotcom-gem/">my earlier post</a> for some background on this). </p>
<p><span style="text-align:center; display: block;"><a href="http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/"><img src="http://img.youtube.com/vi/gx-jWSMAhHA/2.jpg" alt="" /></a></span><br />
<strong>Using Ruby on Heroku</strong><br />
<em>Alex Wong, Salesforce.com</em><br />
Starter presentation on how to get a Ruby on Rails app running on Heroku. Another presentation with similar content was given by Morten Bagai (but doesn&#8217;t seem to have made its way to youtube).</p>
<p><span style="text-align:center; display: block;"><a href="http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/"><img src="http://img.youtube.com/vi/7k9uwTj_svI/2.jpg" alt="" /></a></span><br />
<strong>Connect your Clouds with Force.com</strong><br />
<em>Jeff Douglas, Appirio</em><br />
Attempting to do a bit of everything and generally succeeding is Jeff Douglas. See his high-level description at 3:55 and demo of a mobile device focusing on Heroku at 36:14.</p>
<p>In general, all of the bases were covered somewhere at Dreamforce. There were introductory sessions for Ruby the language, introductory sessions for how to employ Heroku, high-level introductory sessions to the platform, and a couple sessions that showed compelling use cases and showed the when and what is the right tool for the job. In general, the Heroku sessions set a new standard for compelling presentations, and I&#8217;m confident that things will continue to progress in this direction &#8212; despite the fact that some of us (::cough cough::), continue to be forced to use the standard Salesforce powerpoint template.</p>
<p><a href="http://fractastical.files.wordpress.com/2011/10/bildschirmfoto-2011-10-20-um-11-40-31.png"><img src="http://fractastical.files.wordpress.com/2011/10/bildschirmfoto-2011-10-20-um-11-40-31.png?w=300&#038;h=223" alt="" title="Heroku adoption" width="300" height="223" class="alignright size-medium wp-image-554" /></a><br />
Another thing, and I am confident that this will be resolved in the next six months or so, is the lack of an unified and compelling vision for what is the right tool when. The increased investment in all parts of the platform is fantastic, but there is still a bit more to be done as far as connecting the dots with existing enterprise clients of Salesforce and Heroku. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/553/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/553/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/553/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=553&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/10/21/ruby-sessions-at-dreamforce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>

		<media:content url="http://fractastical.files.wordpress.com/2011/10/bildschirmfoto-2011-10-21-um-13-14-59.png?w=300" medium="image">
			<media:title type="html">Ruby + Salesforce (from our presentation)</media:title>
		</media:content>

		<media:content url="http://fractastical.files.wordpress.com/2011/10/bildschirmfoto-2011-10-20-um-11-40-31.png?w=300" medium="image">
			<media:title type="html">Heroku adoption</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting Started with the Databasedotcom Gem</title>
		<link>http://fractastical.com/2011/09/01/getting-started-with-the-databasedotcom-gem/</link>
		<comments>http://fractastical.com/2011/09/01/getting-started-with-the-databasedotcom-gem/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 01:20:37 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[Database.com]]></category>
		<category><![CDATA[Heroku]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[chatter]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=539</guid>
		<description><![CDATA[What follows are instructions on how to get started with the databasedotcom gem, released yesterday afternoon at Dreamforce. The examples here will be assuming you use Heroku for hosting and deployment although you can use all of the features mentioned without Heroku if you so chose. This is also for the most part a tutorial [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=539&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>What follows are instructions on how to get started with the databasedotcom gem, released yesterday afternoon at Dreamforce.  </p>
<p>The examples here will be assuming you use Heroku for hosting and deployment although you can use all of the features mentioned without Heroku if you so chose.</p>
<p>This is also for the most part a tutorial and not a replacement for the existing documentation includes as part of the <a href="https://github.com/heroku/databasedotcom/blob/master/README.rdoc">databasedotcom gem on Github</a> and <a href="http://rubydoc.info/gems/databasedotcom/frames">shared via Ruby docs</a>, which hopefully will be expanded as the gem gets some love.</p>
<p>There are two main components of the current release:</p>
<blockquote><p>(1) A wrapper for the Force.com REST API which currently works with both Force.com and Database.com<br />
(2) A wrapper for the Chatter API which will not be useful until Winter &#8217;12 (or in orgs w/ api v. 23 already enabled)</p></blockquote>
<p>There is also an additional controller released separately on Github which provides a <a href="https://github.com/dburkes/dbdc_controller">class that your controllers (assuming you are using a Rails app) can extend</a>. By doing so they will instantly get access to the Force.com or Database.com backend you are hooking into.  </p>
<p>As of right now, the gem only supports Ruby 1.9.x, although support for earlier versions of Ruby is promised within the very near future. Although the development of the gem was commissioned by Salesforce/Heroku, maintenance is less certain and depends largely on your contributions.</p>
<p>The first thing you need to do is include the gem in your app. Add the databasedotcom gem to your Gemfile. </p>
<p><pre class="brush: ruby;">gem 'databasedotcom'</pre></p>
<p>If desired, use the edge version instead of the released gem version. This will allow you to get the latest version (you will probably want this if testing in the next couple of days, not necessarily later once the few warts have been ironed out).</p>
<p><pre class="brush: ruby;">gem 'databasedotcom', :git =&gt; &quot;https://github.com/heroku/databasedotcom.git&quot;</pre></p>
<p>I&#8217;m assuming you&#8217;ve already initialized your app on Heroku. If not, go through the Heroku starter tutorial and create your heroku app.</p>
<p>I also recommend adding ssl to your Heroku app:</p>
<p><pre class="brush: ruby;">heroku addons:add ssl:piggyback</pre> </p>
<p>The first thing you need to do is add your credentials. You will need to add remote access for your heroku app in Salesforce (Setup -&gt; Develop -&gt; Remote Access).</p>
<p>Note your consumer key and secret. For the purposes of this gem, the client id is always your consumer key, and client secret is the same as consumer secret.</p>
<p>You can add this information to your app in one of three ways: (1) explicitly passing a hash. (2) Setting environment variables via Heroku (3) setting up a yml file in your config folder with the credentials. I recommend doing (3) unless you have a reason to use one of the other options. </p>
<p>The second thing you need to do to authenticate is do the OAuth handshake.<br />
I recommend using the username and password combination for the user with the appropriate permissions for your org. </p>
<p>These can also be set in your yml file. I recommend also turning on debugging.</p>
<p>This will lead to a file called &#8220;databasedotcom.yml&#8221; in the config folder with the following info: </p>
<p><code>client_id: CONSUMER_KEY_FROM_REMOTE_ACCESS<br />
client_secret: SECRET_FROM_REMOTE_ACCESS<br />
username: SALESFORCE_USERNAME<br />
password: PASSWORD_PLUS_SEC_TOKEN<br />
debugging: true</code></p>
<p>Now make sure that is included and deploy the yml to Heroku.</p>
<p>To actually use the gem I recommend starting by extending the databasedotcom controller. Your code will look like this:</p>
<p><pre class="brush: ruby;">class SObjectNameController &amp;lt; DatabasedotcomController</pre></p>
<p>You can then easily refer to the objects you need in that controller. </p>
<p>For instance in the index method you can do</p>
<p><pre class="brush: ruby;">@users = User.all</pre></p>
<p>Where &#8220;User&#8221; is now your automagically instantiated SObject class queried via the REST API. The way this works is that if you use a variable (e.g. &#8220;User&#8221;) that is unknown to the class it will find all of the available SObjects and attempt to instantiate a new instance.  </p>
<p>That should be enough to get you started. A bunch of other useful examples are in dburkes&#8217; <a href="https://github.com/dburkes/dbdc_controller/tree/master/app/controllers">example code</a>.</p>
<p>One note of caution, there is as of yet no session management for this app, so if your auth token times out you will need to re-authenticate yourself.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/539/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/539/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/539/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=539&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/09/01/getting-started-with-the-databasedotcom-gem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>
	</item>
		<item>
		<title>What makes Force.com developers different from Ruby developers?</title>
		<link>http://fractastical.com/2011/08/08/what-makes-force-com-developers-different-from-ruby-developers/</link>
		<comments>http://fractastical.com/2011/08/08/what-makes-force-com-developers-different-from-ruby-developers/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 16:22:22 +0000</pubDate>
		<dc:creator>Joel Dietz (@fractastical)</dc:creator>
				<category><![CDATA[Developer Community]]></category>
		<category><![CDATA[Heroku]]></category>

		<guid isPermaLink="false">http://fractastical.com/?p=525</guid>
		<description><![CDATA[Byron Sebastian, formerly CEO of Heroku and now GM of both Heroku and SVP Platforms for Salesforce pointed out in a recent interview of the different nature of developers currently working on the Force.com platform and those which Heroku reaches out to. Although this is highly recommended, there is little in the way of publicly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=525&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://fractastical.files.wordpress.com/2011/07/work-6784154-2-figsq220x200brownmhoodief8f8f8-heroku-light-v3.jpg"><img src="http://fractastical.files.wordpress.com/2011/07/work-6784154-2-figsq220x200brownmhoodief8f8f8-heroku-light-v3.jpg?w=490" alt="" title="work.6784154.2.figsq,220x200,brown,mhoodie,f8f8f8.heroku-light-v3"   class="alignright size-full wp-image-527" /></a>Byron Sebastian, formerly CEO of Heroku and now GM of both Heroku and SVP Platforms for Salesforce pointed out in <a href="http://www.diversity.net.nz/talking-paas-with-byron-sebastian-from-herokusalesforce/2011/07/08/">a recent interview</a> of the different nature of developers currently working on the Force.com platform and those which Heroku reaches out to. Although this is <a href="http://www.diversity.net.nz/talking-paas-with-byron-sebastian-from-herokusalesforce/2011/07/08/">highly recommended</a>, there is little in the way of publicly available information on the difference between these two developer communities. So here&#8217;s the difference, exaggerated somewhat:</p>
<p><strong>Dress code<br />
</strong><br />
<strong>Force</strong>: Probably forced to wear a suit from time to time and doesn&#8217;t mind it all that much, so long as it doesn&#8217;t always include a tie.<br />
<strong>Heroku</strong>: Will look at you in a strange way if you suggest they wear a suit. And probably never talk to you again&#8230;</p>
<p><strong>Emerging Tech<br />
</strong><br />
<strong>Force</strong>: Laughs at Salesforce announcements while reading the safe harbor statement and knows that he won&#8217;t get promised tech for a few more release cycles.<br />
<strong>Heroku</strong>: Itching to get hands on new tech (Clojure, Node, etc.), spends his evenings working on side projects for fun.</p>
<p><strong>Tools</strong><br />
<strong>Force</strong>: Likely using a snazzy IDE like the Force.com IDE (harhar). Occasionally upvotes ideas for new and better tools in the IdeaExchange but knows that his voice is not likely to be heard. <a href="http://success.salesforce.com/ideaView?c=09a30000000D9xt&amp;id=08730000000IN8QAAW">Like here</a>. ::cries::<br />
<strong>Heroku</strong>: Very comfortable on the command line and using a text editor w/ nifty shortcuts like Textmate or a pro editor like Vim/Emacs. Generally sets up his own environment and doesn&#8217;t think or care much for the IDE world. </p>
<p><strong>$$$</strong><br />
<strong>Force</strong>: Paid because every company of a certain size uses Salesforce because it is baddest most kick-ass CRM solution ever.<br />
<strong>Heroku</strong>: Probably leveraging Rails or another Ruby framework to deliver small to mid-size web apps. When finds that some client uses Salesforce is a bit confused as to why. Looks at the UI and says, &#8220;Aaaaah! So 1990!&#8221; May attempt to convince VCs that they can build the next Salesforce on Rails. </p>
<p><strong>Meetups</strong><br />
<strong>Force</strong>: Goes to conferences, listens to lots of lame jokes, drinks many liters of koolaid, and shouts or tweets &#8220;hurrah! hurrah!&#8221; as much as he possibly can. Possibly stops going out.<br />
<strong>Heroku</strong>: Goes to conferences that are for developers only and heatedly discusses the pain points of the new edge rails version over a pint afterwards. </p>
<p><strong>Configuration/Division of Labor</strong><br />
<strong>Force</strong>: Probably ends up doing some configuration because, oh my goodness, Salesforce is hella complex. Err, shouldn&#8217;t there be an admin here somewhere? Thankfully most of the time there is (I love you admins!). Designers are usually not employed, because Salesforce provides all the design for you (but should it? Stay tuned for my top secret jQuery Theme Engine for Salesforce&#8230;).<br />
<strong>Heroku</strong>: Everything is code. There are only developers, no admins. Designers usually deliver css, etc. developers, who implement, although sometimes you have designers that can touch up Rails views themselves. </p>
<p><strong>Integration</strong><br />
<strong>Force</strong>: Knows that the watchword of every mid-to-large size company is &#8220;integration&#8221; and probably spends lots of time with different APIs moving information from one data silo to another.<br />
<strong>Heroku</strong>: If asked about integration, will say &#8220;Here is the sexy JSON REST API for my app, integrate to it however you want!&#8221; </p>
<p><strong>Enterprise</strong><br />
<strong>Heroku</strong>: Enterprise epitomizes needless cruft and annoyances that developers who care about pushing forward technological possibilities shouldn&#8217;t have to worry about.<br />
<strong>Force</strong>: What&#8217;s to think about? What is, is. Back to waiting for an awesome new version of the Force.com IDE. Oh, can I please get my stapler back?</p>
<p>It sounds like Byron Sebastian &amp; co at Salesforce are not particularly keen to attempt to integrate these two communities, which makes a good deal of sense. It isn&#8217;t clear to me that they can co-exist. However, the road forward is far from clear. Much, although certainly not all of the Salesforce developer community are not developers in the traditional sense, having started with Salesforce&#8217;s &#8220;Clicks not Code&#8221; mantra and gone on to occasionally build triggers and other things necessary in the Salesforce environment that will be unusual if not incomprehensible to those used to working on smaller apps. This is entirely different from enthusiast programmers, who, despite a lot of experience with certain aspects of the cutting edge, usually don&#8217;t worry about problems of a certain annoyance level and/or complexity (e.g. scaling, integration) that every large company has to worry about. In other words, there is often a &#8220;bite the bullet and get the job done&#8221; attitude among experienced Force developers that makes them optimally suited for solving the sorts of problems that large companies have. </p>
<p>Great developers in both worlds will see the benefits that are there on each platform and the accompanying community. Salesforce should take every opportunity to merge these where this is appropriate, providing a seamless experience to those who want to bridge the gap. With this, there is an increasing need for elite teams that can acknowledge and utilize the strengths of both areas.  In fact, this will be a major focus in my Dreamforce session on connecting Ruby on Rails apps with Force.com. Stay tuned. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fractastical.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fractastical.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fractastical.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fractastical.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fractastical.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fractastical.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fractastical.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fractastical.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fractastical.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fractastical.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fractastical.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fractastical.wordpress.com/525/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fractastical.wordpress.com/525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fractastical.wordpress.com/525/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fractastical.com&amp;blog=7847191&amp;post=525&amp;subd=fractastical&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fractastical.com/2011/08/08/what-makes-force-com-developers-different-from-ruby-developers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b5a6cd1c169134923eb16907cfaca3e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fractastical</media:title>
		</media:content>

		<media:content url="http://fractastical.files.wordpress.com/2011/07/work-6784154-2-figsq220x200brownmhoodief8f8f8-heroku-light-v3.jpg" medium="image">
			<media:title type="html">work.6784154.2.figsq,220x200,brown,mhoodie,f8f8f8.heroku-light-v3</media:title>
		</media:content>
	</item>
	</channel>
</rss>
