Andrew CantinoAndrew Cantino
Standup 2/8/2010: Potential Geminstaller issues
edit Posted by Andrew Cantino on Monday February 08, 2010 at 10:23AM

Interesting Things

A project reported that GemInstaller failed when installing Rails 2.2.2, because it attempted to list the remote Rails 3.0.beta gem. There's a bug open and awaiting more info, but since this is not reproducible on RubyGems 1.3.5, it may be due to an old RubyGems version not handling prerelease gems properly.

The GemInstaller author heartily recommends that you switch to Bundler anyway

Sean BeckettSean Beckett
New Tech Talk: Contextually Remarkable: RSpec Testing Tools
edit Posted by Sean Beckett on Friday February 05, 2010 at 03:58PM

Pivot David Stevenson introduces Remarkable and Contextually, testing tools that can be used on top of RSpec. Remarkable is tool that makes testing common ActiveRecord and ActionController functionality more declarative, making tests shorter and more legible. Remarkable is used heavily in Contextually, a role-based testing framework that simplifies testing the behavior of controllers against a variety of roles. David shares his experience and metrics from using these tools on a recent project.

See all our talks at http://pivotallabs.com/talks

Sean BeckettSean Beckett
New Tech Talk: Demystifying Online Billing
edit Posted by Sean Beckett on Friday February 05, 2010 at 12:21PM

Isaac Hall of Recurly describes many of the hidden challenges in managing recurring billing online. He offers step-by-step tips, tricks, and firsthand experience on how to better architect and more easily deploy billing in your application.

Isaac put up a synopsis of the main ideas on the Recurly site.

See all our talks at http://pivotallabs.com/talks

Justin RichardJustin Richard
Standup 2/5/2010: Jasmine has shared examples
edit Posted by Justin Richard on Friday February 05, 2010 at 12:15PM

Interesting##

If you're using Jasmine to test your JavaScript code and you miss the shared examples functionality you used in RSpec, you can achieve the same result by just using a plain old function. Name your function something like "mySharedBehavior" and call it in each of your describe blocks that share the behavior. Jasmine will execute the function and print your results just as if you repeated all the shared examples in each of your describe blocks. Be careful not to modify the scope of the function that contains your shared examples (Jasmine needs to control the scope).

JB SteadmanJB Steadman
javascriptTests.bind(reality)
edit Posted by JB Steadman on Friday February 05, 2010 at 12:05AM

Javascript tests are good, but manually-maintained HTML fixtures are painful. It's time consuming to keep fixture markup in sync with the actual markup produced by your app. Despite best efforts, deviations arise, leading to bugs and false positives in tests.

For the past few months on Mavenlink, we've been pre-generating real-life fixture markup and making it available in our javascript tests. Results have been positive.

Help

What remote screen sharing or VNC clients are people using for remote pairing?

Chad described his optimal remote pairing setup in 2008, but since then Apple removed the ability to do true full-screen sharing in the included Screen Sharing application with the 10.5.8 update. We've been looking for other solutions since. Apple's Remote Desktop does this, but it gets expensive on a per seat basis and isn't focused on solving our simple use case.

We're interested in finding out what you're using? Do you have a favorite VNC client?

Interesting

  • Pivotal's Pulse is now open source. It's a nice big view of the state of your multiple CI builds. Check out our public projects here: ci.pivotallabs.com

  • Refraction was updated to v0.2.0. It's a testable replacement for mod_rewrite that's implemented as Rack middle ware.

  • Calling #destroy on an ActiveRecord instance associated through a has_many relationship removes it from the database, but not the collection. #delete removes it from the collection and database, but you don't get the before and after callbacks.

Edward HieattEdward Hieatt
Pivotal Pulse open-sourced
edit Posted by Edward Hieatt on Tuesday February 02, 2010 at 04:57PM

A while back I blogged about Pivotal's internal CI aggregator, which we use to display the status and history of the builds of all the different projects we're working on. In additional to our internal instance, we have another instance of it running at ci.pivotallabs.com that shows the status of various open-source projects that we maintain or depend on.

We got a lot of interest from people who wanted to run an instance of this CI aggregator app, which we call "Pulse", at their own company. Well, we've now done the work to open-source the application. You can access it here:

git://github.com/pivotal/pulse.git

There's documentation on that page that describes how to install and use the app.

Pulse's CI is here and it's shown, of course, on an instance of itself at http://ci.pivotallabs.com.

The public Pivotal Tracker project for Pulse is here.

Please let us know your feedback!

Justin RichardJustin Richard
Standup: 2/2/2010 - XMPP meetup tonight
edit Posted by Justin Richard on Tuesday February 02, 2010 at 09:16AM

Interesting

Interesting

The XMPP and Jabber Technologies meetup is tonight at Pivotal's office, 6:00pm.

Interesting

  • Speed up your tests that use Paperclip by putting the following in your spec_helper.rb. In a new project's test suite this alone reduced the full suite run time from 25 to 5 seconds.
class Paperclip::Attachment
  def post_process; end
end
  • If you want to run Spork to speed up your tests, but aren't running on a Ruby platform that supports Kernel.fork (like windows or JRuby) then Roger Pack's Spork fork might work for you.

Other articles: