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: June 2010

Agile the Pivotal Way

Wednesday, June 30, 2010 | Run time: 49:45

Ian McFarland, Principal and VP of Technology for Pivotal Labs, reprises his popular RailsConf 2010 talk. Ian describes the technical and social aspects of how Pivotal practices agile software development.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Managing Application Ecosystems

Wednesday, June 30, 2010 | Run time: 56:06

Daniel Lieberman of BitPusher says current trends in automation, reliability engineering, and cloud computing will combine and mature into a nearly-commoditized blend of operations and infrastructure. He describes ops practices during the transition.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
David Goudreau

Standup 6/30/10 – Selenium blah blah blah RSpec focused test blah blah blah Rubymine blah blah

David Goudreau
Wednesday, June 30, 2010

Help

  • Determining a users default time zone – someone must have solved this already, right? Well, Javascript only gives you the time offset, which isn’t that useful, but Fleegix has some good support we’ve used on other projects.
  • The after_commit gem – we wanted to create an audit entry every time a particular model failed to create successfully. We tried using the after_rollback hook in both our tests and our development environment but it just didn’t work. The before_rollback callback also didn’t work, but the non-rollback callbacks in the gem seemed to behave. Anyone have any thoughts outside of overriding ActiveRecord ourselves?

Interesting Things

  • Vows – real async Javascript testing for Node.js. Jasmine does support some async testing, but it sounds like it’s a bit clunky to do.
  • Using RVM on the server – is anybody doing this? Apparently not yet, but we had some strongly differing opinions on the matter as to how useful it would be and if it’s the right tool for the job. To be continued…
  • Rails 2.3.8 + mongrel_rails + Rack 1.1.0 – cookies do not work. At all. Apparently with Rack, cookies get fed into mongrel_rails as an array, while Mongrel expects them to be a String. Looks like someone already ran into this. The fix is to throw this in a Rails initializer file:

    class Mongrel::CGIWrapper
      def header_with_rails_fix(options = 'text/html')
        @head['cookie'] = options.delete('cookie').flatten.map { |v| v.sub(/^n/,'') } if options.class != String and options['cookie']
        header_without_rails_fix(options)
      end
      alias_method_chain(:header, :rails_fix)
    end if Rails.version == '2.3.8' and Gem.available?('mongrel', Gem::Requirement.new('~>1.1.5')) and self.class.const_defined?(:Mongrel)
    

    (As an aside, running mongrel_rails by using script/server works fine, we only found this issue when running our Webrat Selenium tests, which calls mongrel_rails in some different way that causes this bug to be exposed.)

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

Chicago Tracker Users Group (CHI.TUG) meetup on Jul 22

Dan Podsedly
Tuesday, June 29, 2010

We’re forming a Tracker User Group in the windy city, and the first meetup is scheduled for Jul 22, at the Hashrocket Chicago office.

I’ll be there to talk about the concepts and history behind Tracker, our experience with it, and will give a demo to those that are interested. It’s a great place to give feedback and ask lots of questions.

Space is limited, so RSVP soon.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
David Goudreau

Standup 6/29/10 – EngineYard Redis change

David Goudreau
Tuesday, June 29, 2010

Help!

  • Ey cloud deploy – has anyone done a deploy to EY cloud and seen the Mongrel instances not get bounced?
  • Does anyone have any tips on testing distributed applications? We’re looking for the least ugly/painful way to do it well.

Interesting Things

  • Rvm and sudo – for goodness sake don’t do it.
  • Sass not recompiling on deploys – a few of our projects have seen Sass files not recompile/update for some reason that we’ve yet to track down. So instead of spelunking through Sass code we just force the issue by having a rake task that forces the recompile – see this post for details.
  • Rails xhr redirect – one of our projects is using the xhr_redirect plugin to support ajax redirects – careful if you want to use it in your tests – it self-destructs if your Rails environment == ‘test’
  • Android meetup tonight at 6:30 PM – check out the details.
  • New Redis recipe from EY – following up from yesterday, the new EY recipe to set up Redis appears to work fine with a little tweaking.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
David Goudreau

Standup 6/28/10 – EngineYard Redis change

David Goudreau
Monday, June 28, 2010

Interesting Things

  • Redis at EngineYard – EY recently fixed a bug in their system chef scripts that was unintentionally installing Redis, so if you’re relying on it being there you may find it missing on your next deploy. EY has apparently just added a recipe for running Redis on a utility slice in ey-cloud-recipes. We haven’t tried it out yet but at first glance it looks ok. This new recipe doesn’t support running Redis on a solo instance, but it doesn’t look too hard to change it to do that.

  • Library reorganization – we here at Pivotal have a library of books we let people ‘check out’. We’ve just reorganized it a bit. Let our local librarians know if it’s working for ya.

  • Mobile meetup – there’s a mobile meetup tonight from 6-8 PM tonight at Horatius in Potrero Hill. They’re expecting people from top mobile companies including entrepreneurs, application developers, designers, marketing/business, etc – please RSVP at the Facebook to attend.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Matthew Kocher

Standup 6/25/2010: Fun on Friday

Matthew Kocher
Friday, June 25, 2010

Help

How do we test javascript with jQuery animations? — You’ll want to turn off jQuery animations entirely, which you can do useing:

jQuery.fx.off = true;

This will turn off all animations on the page and make them jump to their end state when called. There are some websites that this would be a large improvement outside of testing.

Interesting

You can’t chain rake tasks – Rake is designed to emulate Make, which views running a rake task as fulfilling a requirement. This has been pretty thoroughly explained in blabs previously. If you’re having problems with rake you should take a look at thor.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

Pivotal Tracker scheduled weekly maintenance

Dan Podsedly
Wednesday, June 23, 2010

For the next month or so, we will be rolling out a series of changes to various parts of the Tracker server architecture, including moving to a Memcached distributed cache for certain requests, cookie based sessions, switching from Mongrel to Passenger, splitting the very large history table, etc.

We’re doing this to improve performance, and eliminate potential scaling issues as our traffic grows. To reduce risk, we’ll introduce these changes in separate updates, once a week.

These updates will occur on Wednesdays at 7:30pm PDT (including tonight), and last under an hour each. If there are any long running migrations needed, we’ll plan them for weekends, or handle them incrementally, to avoid any extended down times.

We understand that these week night outages are inconvenient to many of you, especially in Asia. We apologize in advance, and will try and keep the updates as brief as possible.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Matthew Kocher

Standup 6/23/2010: Mock what isn't there

Matthew Kocher
Wednesday, June 23, 2010

Help

  • Is there a reason why java on 64 bit linux doesn’t seem to go above 4GB of ram even if it’s given more? Some docs say that 2GB is the max, which is clearly not the case. Other projects report they have JVMs as large as 12 gigs. The search for a reason for the OOM errors goes on.

  • How do you mock the backtick or array operator with RR? This is done in rspec by mocking the symbol on the class that it’s being called in, but it’s not obvious in RR. Suggestions included finding a different way to test the behavior, wrapping the system call in a function that’s easily mockable, or investigating another way to shell out.

Interesting

  • Free Ruler, the measurement tool of choice for pivots who need more than the pixels measurements of Command-Shift-4, doesn’t just know the pixel density of the display it’s running on. 20″ Aluminum iMacs are significantly different from what it assumes.

  • The Jasmine javascript BDD testing framework project was jealous of the newcomer Cedar’s @cedarbdd twitter. They’ve struck back by creating @jasminebdd. You can follow both for updates, announcements and tips.

  • Some devs working on a mobile JS app recently discovered Prototype’s wrap function after implementing the same thing many times before. They did preface this with “is anyone else still using Prototype” so as to not offend the jQuery zealots.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Matthew Kocher

Standup 6/22/2010:

Matthew Kocher
Tuesday, June 22, 2010

Interesting

  • Don’t put your expectations on a proxy, as the proxy might not get called in your code as the proxy may have turned into a real object by the time you use it. The right thing to do is to put your expectations on your proxy target, and you can do this on either either the target or proxy_target of the proxy object. Proxy_target is strongly preferred by some pivots.

Help

  • One project in the office is deploying varnish to EY Cloud, and was wondering if anyone else had gone down this path before. There is a EY Cloud chef recipe for varnish, but it is not supported thus changes with EY cloud may break it in the future.

Danger

  • A pivot warns that the recent facebooker gem (1.0.70 and 1.0.71) come with a gemspec that reports version 1.0.67. This causes bundler and RubyMine to both be very confused. If you find yourself in this situation complain loudly and then remove all previous version from your system.
  • 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. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. →
  • 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 >