Pivotal Labs

Main menu

Skip to primary content
Skip to secondary content
  • About
  • Case Studies
  • Team
    • Executives
    • Locations
      • San Francisco (HQ)
      • Boston
      • Boulder
      • Denver
      • London
      • Los Angeles
      • New York
  • Community
    • Blogs
    • Tech Talks
    • Events
  • Careers
    • Lifestyle
    • Principles & Practices
    • Benefits
    • FAQ
    • Apply
  • Contact
    • Press Room
    • Press Releases
    • In The News
    • Press Kit
  • All
  • Labs
  • Standup
  • Tracker

Monthly Archives: May 2011

Ryan Richard

Standup 5/9/2011

Ryan Richard
Monday, May 9, 2011

Ask for Help

“Any general advice for writing Rails generators?”

One person suggested this Rails guide. Another suggested looking in the Rails source code at the existing generators. Any other ideas?

Interesting Things

  • Hack night this Wednesday, 6:30pm, at the new office of TRUECar.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joe Moore

iPad 2 As A Remote Presence Device?

Joe Moore
Saturday, May 7, 2011

Since last summer I have been one of our few “remote Pivots” after I moved from San Francisco, CA to Atlanta, GA. Pivotal and I agreed that I’d try working remotely, remote-pair programming full time with fellow developers in our San Francisco and NYC offices. Overall it’s worked out wonderfully for me, my teams, and clients. I use the same technologies that fellow remote-Pivot Chad Woolley recommended in 2008 — a VPN connection, Mac’s Screen Sharing.app and Skype video chat, but we’re always looking for ways to more seamlessly integrate our remote developers into their teams.

With that in mind I became very excited when the iPad 2 was released, with its front-facing camera and FaceTime app. How perfect! For the last month our team has experimented using an iPad as a “remote presence” device for me.

How did it work out? Keep reading to find out!

The Setup

The goals were as follows:

  • Integrate the remote person more seamlessly with the team.
  • Offload cpu and network intensive video chat off of the pair programming machine.

As for why an iPad 2:

  • Ultra-portable.
  • Super easy to use.
  • Video chat software, FaceTime, is built in.
  • Less expensive than a MacBook Air (we’re an Apple shop.)
  • Less likely than a laptop to be borrowed and used for other tasks.
  • It’s an iPad! I mean, just look at the thing!

The Results

After a month of on-again, off-again iPad-Joe experiments with pair programming, meeting attendance and other tasks the results are in! Drumroll please…

The iPad 2 is a horrible remote presence device.

Overall, it’s a total bust. Oh well.

What Works

The iPad does function well as a remote presence device in a few cases:

  • Fully passive: If all I need to do is watch and listen then it works pretty well.
  • It’s very easy for a team member to pick “me” up and take me to a meeting, where I was a mute participant.

What Doesn’t Work

While the iPad has a ton of potential as a remote presence device, there are many kinks that need to be worked out first.

Skype

There’s no dedicated Skype app for iPad. The iPhone app works, but poorly, though it’s noise-canceling does seem a bit better than FaceTime.

FaceTime

FaceTime is the largest disappointment.

  • FaceTime “mutes” the remote person when the iPad-user is speaking. Also, the microphone is extremely sensitive, picking up all background noise. Thus, in our noisy office, FaceTime mutes me for most of the time. It’s like a walkie-talkie only random, or AT&T service in San Francisco.
  • FaceTime does not route sound through external speakers, such as the iHome iD9 device we tried, forcing all sound out of the extremely quiet internal speakers. Thus, even when FaceTime allowed me to speak, nobody could hear me.
  • FaceTime does not recognize external microphones other than the iPhone earbud mics. Other apps, such as Garageband, supposedly will work with mics like the Snowball (which has excellent noise cancelation) when connected via the camera connection kit.

Finally, hauling an iPad, an iHome, and a Snowball mic around the office totally defeats the purpose of ease-of-use and portability!

Many of these limitations might be solved via software updates. We’ll try again when Skype delivers an iPad app and when other iPad software updates come along.

(Edit: typos.)

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Mike Grafton

SF Standup 5/6/2011: Bundler Blah Blah Blah Blah

Mike Grafton
Friday, May 6, 2011

Interesting Things

  • A certain Pivotal project runs ‘bundle update’ often, since they have a shared gem that gets updated a lot. They were wondering why it was so slow, and supposed it was due to slowness at rubygems.org, and thought a local mirror would help. They were wrong. Turns out the slowness is in the implementation of rubygems, whereby a 110K list of gems is marshalled and unmarshalled.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Mike Grafton

SF Standup 5/5/2011: The Most Interesting Standup in the World

Mike Grafton
Thursday, May 5, 2011

Interesting Things

  • jQuery mobile: awesome!
  • jQuery 1.6 is out and will break you. Read the change notes and upgrade with care. [Ed.: you do have JS tests, don't you?]
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Mike Grafton

SF Standup 5/4/2011: Tête-à-tête

Mike Grafton
Wednesday, May 4, 2011

Interesting Things

  • Josh and Alexander are pairing at a new iteration of the tête-à-tête pairing desk, where they’ve hacked (with a bandsaw) a traditional Ikea desk to allow for better ergonomics and pairing dynamics. Expect a blog post with pictures soon.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Jonathan Berger

NY Standup for Wednesday, May 4: Star Wars Day

Jonathan Berger
Wednesday, May 4, 2011

Dangerous / Interesting

  • Schubert warns us that Rail’s extensions that add to_time method may cast types in unexpected ways:
    Date#to_time => Time
    Time#to_time => Time
    but DateTime#to_time => DateTime

  • Use === when checking equality with DateTime and you don’t care about precision (This does not work with Time however)

  • Your humble author cautions that the new Laullon GitX is not ready for prime time. When adding multiple files with a single click, a garbage commit with a long funny name is created without adding the files.
    Instead, consider Brother Bard’s excellent fork of GitX

  • Ian “Waffles” Zabel mentioned that jQuery 1.6 has been released. Notable changes include case-mapping of HTML5 data- attributes, performance improvements, and more.

  • Lee Edwards reminds us “It’s Star Wars Day. May the 4th be with you.” <⁄rimshot>

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Mike Gehard

Waiting for jQuery Ajax calls to finish in Cucumber

Mike Gehard
Tuesday, May 3, 2011

You may be asking yourself why you’d want to do this in the first place. Well here’s why I would want to do it.

We had some Webdriver based Cucumber tests that passed fine locally but kept failing on our CI box. Our CI box is a bit underpowered at the moment so I thought what might be happening is that our tests weren’t waiting long enough for the Ajaxy stuff to happen because the Ajax responses were taking a long time.

After some poking around in the source code of jQuery, I found the $.active property. This property keeps track of the number of active Ajax requests that are going on and I thought this might help us out.

What I came up with was this gist:

I added this step right after my Cucumber step that caused the Ajax call so that Cucumber would wait to move on until I knew that everything was done.

This step solved our CI failures and all was good in our test suite again.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Justin Richard

Standup 5/3/11 – It's Tuesday All Day

Justin Richard
Tuesday, May 3, 2011

Interesting

  • Check your instance variable and methods names for conflicts with libraries or frameworks you are using if you get unexpected failures

    Example 1: defining @response in your RSpec test setup when expecting to use the response from a HTTP request overwrites the result of the request. (don’t expect @request or @url to do you any favors either)

    Example 2: Don’t define a #process method on a Rails controller

  • SF Dev Ops meetup is tonight

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Topics

  • agile (780)
  • rails (113)
  • testing (88)
  • ruby (83)
  • ruby on rails (70)
  • jobs (62)
  • javascript (55)
  • techtalk (44)
  • rspec (38)
  • ironblogger (32)
  • productivity (30)
  • activerecord (29)
  • gogaruco (29)
  • git (28)
  • nyc (27)
  • rubymine (26)
  • bloggerdome (23)
  • mobile (22)
  • process (21)
  • pivotal tracker (20)
  • cucumber (20)
  • jasmine (19)
  • design (18)
  • ios (18)
  • webos (17)
  • objective-c (17)
  • android (16)
  • palm (16)
  • "soft" ware (16)
  • fun (15)
  • tracker ecosystem (15)
  • ci (15)
  • cedar (15)
  • rails3 (14)
  • performance (14)
  • bdd (14)
  • gem (13)
  • css (13)
  • tdd (13)
  • selenium (12)
  • goruco (12)
  • bundler (12)
  • meetup (11)
  • railsconf (11)
  • nyc-standup (11)
  • capybara (10)
  • mac (10)
  • mojo (10)
  • chef (10)
  • api (10)
Subscribe to Community Feed
  1. ←
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  • About
  • Case Studies
  • Team
  • Community
  • Careers
  • Contact
  • Labs
  • Events

Contact Us

contact@pivotallabs.com
+1 415-77-PIVOT
TwitterLinkedInFacebook

Pivotal Tracker

Tracker is the award-winning agile project management tool that enables real-time collaboration around a shared, prioritized backlog.
Visit pivotaltracker.com >