I got my shiny new MBP on Friday and spent a good part of the weekend installing software. I ran into a installation issue with RVM and Ruby and just want to post a fix in case anyone runs across it. Just to be clear, the issue seems to be with Lion and not Ruby in general.
I successfully installed RVM (Ruby Version Manager) but received a nasty error when installing Ruby 1.9.2. My error log looked like:
[2011-07-30 16:52:07] ./configure –prefix=”/Users/Jeff/.rvm/usr”
checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… config/install-sh -c -d
checking for gawk… no
checking for mawk… no
checking for nawk… no
checking for awk… awk
checking whether make sets $(MAKE)… no
checking for gcc… /usr/bin/gcc-4.2
checking whether the C compiler works… no
configure: error: in `/Users/Jeff/.rvm/src/yaml-0.1.4′:
configure: error: C compiler cannot create executables
See `config.log’ for more details
Essentially it means that “no acceptable compiler could be found.” There are a couple of problems with OS X Lion and Ruby. First, if you read the installation notes for RVM you’ll see the following:
For Lion, Rubies should be built using gcc rather than llvm-gcc. Since /usr/bin/gcc is now linked to /usr/bin/llvm-gcc-4.2, add the following to your shell’s start-up file: export CC=gcc-4.2
Lion sets the default compiler to LLVM so you’ll need to change it to gcc for Ruby to compile sucessfully. Open .bash_profile and add:
export CC=/usr/bin/gcc-4.2
The second problem seems to be with Xcode. Just becuase I “installed” Xcode 4.1 from the App Store doesn’t mean that it actually installed. To get Ruby to compile I had to launch Xcode and actually install Xcode. After that it compiled with no problem.
My buddies over at Twilio released a new service yesterday called Twilio Client. I got the scoop about this a number of weeks ago and couldn’t wait to talk about it. Twilio Client is a super slick service that allows you to:
Make Outbound Phone Calls From the Browser
Receive Inbound Phone Calls in the Browser
Make Calls Between Two Browsers
It works with virtually all browsers, mobile devices (there’s a mobile SDK on the roadmap) and regular old phones. Twilio is charging .25 of a cent per minute for this service. The Client tool, which is available now as a Javascript SDK, will also eventually be available in separate versions for iOS and Android devices.
Like all of Twilio’s stuff it’s not only super powerful but super easy to use. Just include three lines of Javascript into your code and you are off and running. They have (of course) great docs and a ton of sample code as well.
You can sign up for a free developer account and get started right away with the Quickstart. I built my Twilio Client demo app to test out all of these features in 15 minutes. No kidding.
I can already envision a ton of great use cases for Twilio Client. Embed it in the Customer Portal. Put in on a Force.com Sites page or on your SiteForce website. Perhaps even build an entire call center app! I suspect we’ll soon be running some CloudSpokes challenges with the Twilio Client.
Yesterday at CloudSpokes we pushed 30+ projects to GitHub (check out this Open Source Sweetness)! While I was at it I thought I might as well push a bunch of my code to GitHub account to make my life easier. So if you are looking for some code that I referenced in a blog post, most likely its now on GitHub.
If there’s something that I’ve forgotten or something you’d like to see, drop me a line and I’ll see if I can dig it up. I expect to put all of my new code on GitHub as well.
Telesales-Rails – My sample Telesales app written in RoR using the Salesforce.com REST API.
DF10-Demo—Appirio-Careers-Cloudstock-Hackathon-App – DF10 Hackathon Demo app — Uses the Force.com REST API in conjunction with OAuth2 using the Spring MVC framework on Spring tc Server.. Also uses Twilio (SMS), Spring Roo, Spring STS, MongoDB and Box.net.
I’ve had this video queued up for a few days now as I was waiting for the Apex REST API webinar. I didn’t want to steal Sandeep Bhanot’s and Alex Toussaint’s thunder. Their webinar was very informative and packed full of code! It should be available here any day now for your viewing pleasure.
Over at CloudSpokes we’ve been running development challenges with Apex REST services for quite awhile now. To facilitate future challenges I put together a video showing everything (yes, everything) you need to know to get started building applications with Apex REST services. The tutorial below walks you through the entire process of building our Members service. It shows you how to structure your services, how to use the new REST classes, and how to use the Apigee Console for Salesforce.com to test your services. The Apigee console even handles the OAuth for you!! Why write your own Java or Rails client app to test your classes? I’ve even published the entire code for the Members service so you can use it as a template.
If you want some real-world experience using Apex REST services, hop on over to CloudSpokes and participate in some of our challenges to rebuild our site using Apex REST services. Prizes range from $500 – $1000 and we have a large number of challenges available!
So here’s how to get started:
Sign up for a new developer org at developer.force.com. All new orgs are now enabled with the Apex REST services so you can get started right away without waiting for the feature to get enabled.
Take a peek at the Force.com REST API site for tutorials, code snippets, webinars and documentation. You can even post questions to the message boards for quick answers to your problems.
I’m hard at work on my presentation and code for Dreamforce 11. Here’s a little overview of the app(s) and use cases. If you are not attending Dreamforce 11, you should be. If you are attending Dreamforce 11, I hope you’ll attend my session. It should be #superfreakinawesome!
I’ve received a number of emails over the past months regarding “phantom” searches showing up in Google for content that doesn’t exist on my blog. Unfortunately I installed a WordPress plugin that automatically submitted all search results for my blog to Google. I uninstalled the plugin about a month ago but it appears that the search results still exist.
I’ve finally removed all of these entries from Google so they should no longer show up in search results. If you go to this URL, you’ll see that they no longer exist in Google’s directory.
Everyone loves GitHub but the CLI can be a little intimating for newcomers. A couple of days ago GitHub released a client for OS X. The setup walks you through the process of creating a GitHub account (if you don’t have one), uploading repositories and provides a slick little interface for cloning, browsing and managing repos.
If you are on Mac, be sure to download the app and give if a whirl. Salesforce.com is using GitHub more and more so starting getting up to speed on it.
While on my European vacation, Wes Nolte was so kind as to arrange the UK Force.com Developer & Admin Meetup during my time in London. He has a great recap on the Tquila blog.
For such a short notice, there was a really good turnout and we had some very interesting presos on Talend and dynamic Visualforce components. I got to meet a bunch of the guys at Tquila (my new favorite UK mates!) and we attempted to put the pub out of commission but were thrown out shortly before midnight. Fortunately, there were a couple of more pubs open in London so we ran next door.
The next UK Force.com Developer & Admin Meetup is scheduled for August 2nd and Wes and Anup Jadhav are presenting on Team Development Strategies and Tools on the Force.com Platform. Not sure if I can make the meeting but I’ll try.
I didn’t post it earlier but I’m on vacation with the lovely Mrs. Douglas. We are hitting Ireland, Paris and London for almost three weeks. Wes Nolte was so nice as to schedule the Force.com Meetup in London during my visit. Brillant!
My blog will be pretty quiet until I return on the 28th. Cheers!
I'm a Senior Technical Consultant at Appirio specializing in cloud-based applications using Salesforce.com, Google App Engine and VMware.
You should be a foster and/or adoptive parent. I'm both and it's fun!! Ask me how.
Buy My Books!
By Jeff Douglas & Wes Nolte
By Jeff Douglas &Kyle Roche
Favorite Quotes
"Any sufficiently advanced technology is indistinguishable from magic."
"Those who say it cannot be done should not interrupt the person doing it."