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
Gregg Van Hove

Standup 02/22/2012: Apache trying to compete with Nginx?

Gregg Van Hove
Wednesday, February 22, 2012

Ask for help

  • Where are the cool parking garages around the new office?

There appear to be many options close by.

  • What is the best way to estimate hosting costs? (e.g. how many dynos on heroku etc.)

One suggestion was to try load testing the app in the real hosting environment to get an idea on what you can realistically take.

Interesting Things

  • A new version of Apache has been released that is trying to compete better with nginx
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Bleicke Petersen

Standup 02/21/2012: Cute title goes here

Bleicke Petersen
Tuesday, February 21, 2012

Helps

“Want to teach college students Rails/Pairing in a Software Engineering class?”

Write an email to Rob. Details to follow soon.

“How do I set the type of a Backbone class to not always be “child”?”

You can rename the constructor, it’s going to have that name. Don’t forget to call the constructor of the super class in it.

“Is there any tool to run Jasmine tests in several windows/browsers in parallel?”

Let us know.

Interestings

CSS Box-Sizing

The CSS property ‘box-sizing’ allows you to control the width of an element, including its border and padding.

box-sizing: content-box;

is the default setting, where the width specifies the width of only the content

box-sizing: border-box;

specifies the width for both the content, and the border and padding

box-sizing: inherit;

have a wild guess.

Ember.js Meetup tonight at 6:30pm

Technically sold out, but if you just stick around after work, you can still attend.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Ken Mayer

SF Standup – Feb 13, 2012 – The Sound of One Hand

Ken Mayer
Monday, February 13, 2012

Cries for help

Capybara is reporting “stale elements” for no good reason.

Any experience, war stories upgrading from jQuery 1.6 to 1.7, especially with the whole event delegation API change? [crickets] See interestings…

Interestings

Have a really big spec file that takes a long time to run? http://rubygems.org/gems/parallel_split_test, from our own Michael Grosser, will run a big spec file in smaller chunks.

url helpers cache results for better performance, but they seem to be losing custom options (in this case a locales setting).

In jQuery 1.6, triggering an event in an unattached DOM node would propagate the event up into the document, even though it was never attached to it. jQuery 1.7 (maybe 1.7.1) fixes this behavior.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Steve Ellis

NYC Standup: 2/5-10 Batched

Steve Ellis
Friday, February 10, 2012

Interesting

  • assert_template Matching: RSpec’s template matcher uses a reg ex, which is loose enough to cause some false positives.
  render "_foo_bar.haml"

will pass cause both of these to pass:

  should render_template "_foo_bar.haml"
  should render_template "_bar.haml"

The best solution presented was to explicitly say what you expect not to be rendered(should_not render_template “_bar.haml”). There has been some activity on Github recently around ActionController’s assert_template method, but none addressing this exact problem(1 example: https://github.com/rails/rails/pull/3879/files). The regex is complicated by the fact that it has to match ambiguous partials rendered with specific paths(should render_template “_bar.haml” needs to match render “foo/_bar.haml”).

  • Let It Be: If you declare a “let!” variable at the top of a file, and redeclare that variable with a “let” statement in a nested context, the variable will not be lazily loaded. RSpec evaluates it as a “let!”.

  • Binary Tempfiles: There is no way to open a new Tempfile in binary mode; you must open it first and then call foo.binmode.

  • Airbrake was acquired by Exceptional
    http://techcrunch.com/2012/02/07/exceptional-acquires-error-tracking-application-airbrake/

  • Auto compiling SASS, pre-3.0: Adam used ‘compass watch’ and Foreman to automate the regeneration of stylesheets in development. This prevents him from having to wait for the sass to recompile on the first request he makes after modifying stylesheets. https://github.com/ddollar/foreman

  • Should receive, in any order: Ian & Suman were attempting to write an RSpec 1.3 spec that asserted a method was called with an array that included the correct elements; however, the order of the elements within the array was not important. Seems there is no array_including equivalent to hash_including. The solution they came to was to use the block style expectation as defined here: https://www.relishapp.com/rspec/rspec-mocks/docs/argument-matchers

  foo.should_receive(:bar) do |arg1|
    arg1.should =~ [3,1,2]
  end

Anyone know of a built-in matcher for arrays similar to hash_including?

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

Standup for 2/9/2012: NP in P time? As usual, no.

David Stevenson
Thursday, February 9, 2012

Ask for Help

“How can I know all the descendants of a class in the superclass at load time in ruby? I want to create a scope for each subclass.”

You can’t.

“What popovers should I use?”

We’ve used at least these two before:

  • QTip
  • Tipsy

“What recurring billing system should I use?”

We’ve had good luck with BrainTree and Recurly.

Interesting Things

  • backbone-forms is a plugin to backbone that provides model-based form views similar to rails’ form_for functionality.
  • EmberJS meetup will be Feb 21, at our new pivotal office!
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Ian Lesperance

Standup 02/07/2012: What’s the Sound of All Hands Clapping?

Ian Lesperance
Tuesday, February 7, 2012

Ask for Help

“Are there any good enum gems that work with Rails 3.2?”

Try simple_enum. But watch out: by default it will take your array of string values and store the numeric indices in the database. To avoid having to migrate your existing data, you can pass it a hash:

as_enum :status, :pending => "pending", :active => "active"

Interesting Things

“And… clap.”

A fun thing to try at standup: get everyone to clap once simultaneously without counting down.

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

Standup 2/6/2012: Tracker UI updates

David Stevenson
Monday, February 6, 2012

Ask for Help

“pg gem version 0.12.2 seems to be leaving connections open sometimes after our application server is dead. This results in transactions that never finish. Anyone know what’s up?”

Interesting Things

  • Tracker released major UI updates on Saturday, and we’re getting a lot of positive and negative feedback about it. Fear the change!
  • If you change code that’s part of the rails asset pipeline, it won’t really take effect until you deleted the cached files and allow the asset pipeline to regenerate them. This is because the pipeline watches for changes in the input files, but not in the source code.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Kevin Fitzpatrick

SF Standup 2/3/2012: Fixnum[what?]

Kevin Fitzpatrick
Friday, February 3, 2012

Ask for Help

“In an android web browser, if I have an autocomplete menu, and I click on one of the items, the click is registered on that item, but also seems to pass through to the elements behind it. For instance, a different text input was behind it, and became focused.”

“Yep, that bug sucks.” “The world may never know.”

Interesting Things

  • Fixnum’s [] operator works! According to the ruby docs

    “Bit Reference—Returns the nth bit in the binary representation of fix, where fix is the least significant bit.”

    # 2:Fixnum in binary is 10, right? So…
    
    
    2[0] = 0
    2[1] = 1
    

    Also:

    a = 0b11001100101010
    30.downto(0) do |n| print a[n] end
    

    produces:

    0000000000000000011001100101010
    
  • innotop innotop is a ‘top’ clone for MySQL with more features and flexibility than similar tools. It’ll let you do all sorts of dangerous things to your database! Have fun!!

  • Parse.com apparently accepts job applications via API! Check it out at https://parse.com/jobs#api

  • jQuery and the resize event – If you trigger a resize even on any object other than the window, it will not trigger the binding on that element. It will, however, trigger any resize bindings you have on window.

  • Did you commit to git under the wrong author’s name and email? Use
    --ammend --reset-author after committing, but before pushing (unless you want a pain in the tuchus)

    mkdir foo
    cd foo
    git init
    touch README
    git config --global user.name "Santa Claus"
    git config --global user.email "santa@claus.no"
    git add .
    git commit -m "Commit from Santa Claus"
    git show
    # commit e5f4ebe6c689ddbf4ff595855fec544da5d8ce01
    # Author: Santa Claus <santa@claus.no>
    
    
    # Oops! I'm not Santa Claus
    
    
    git config --global user.name "Easter Bunny"
    git config --global user.email "easter@bunny.cl"
    git commit --amend --reset-author
    
    
    git show
    # commit d523479d487d04388972bea872913ffda734ef89
    # Author: Easter Bunny <easter@bunny.cl>
    
  • Looking to game the system on Superbowl Game day? Check out Onsi’s Super Square http://supersquare.heroku.com/ stats app for your Squares pool.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Kevin Fitzpatrick

[Standup][SF] 2/2/2012: When does Van Damme show up?

Kevin Fitzpatrick
Thursday, February 2, 2012

Interesting Things

  • When using TimeCop to travel in time in your specs, Time works normally, however DateTime will round to the nearest second. You have been warned

Help!

“What’s going on with Facebooker and :class/:class_name_?”

Normally, in an ActiveRecord class definition you can use :class_name to change the class of an association.

has_many :foos, :class_name => 'Bar'

With Facebooker installed, one project found that their project was able to use :class

has_many :foos, :class => 'Bar'

When Facebooker was removed, it all blew up. No one had a solid answer as to why this worked in the first place.


“How do can we tell if our app’s email has been marked as spam like Campaign Monitor claim to do? How else can I get spam reports?”

*”Does anyone know to get this info from ISPs?”

Services like Return Path can give you aggregate reports, but not specifics.

All other suggestions were vague and/or said “Contact the ISP.”


*”How do I sign up for Heroku with a Google Group email?”

Allow non-member emails. You want to do this before you sign up, because some Pivots have reported that they could not get a second confirmation message to be sent.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Jacob Maine

Standup 2012/2/1: Speed kills

Jacob Maine
Wednesday, February 1, 2012

Interesting Things

  • If you haven’t noticed, Jasmine tests are at least twice as fast in Chrome as they are in Firefox. Closing the inspection pane makes it even faster. Be aware that part of the speed is from Chrome’s aggressive caching, which can lead to erroneous test results.
  • One team is using Backbone’s local storage. When they add model.clear() after every test run, their tests go from 20 seconds to over 100 seconds. Someone suggested the silent: true option, to suppress the change events that clear triggers.
  • To avoid bugs in minified JS put semicolons in the right spots. The easiest way to do that is to run a tool like JSLint or JSHint over your code. Add it to your test suite to prevent mistakes.

Ask for Help

  • “In IE8 the numbers don’t show up on ordered lists if we dynamically create lis”

Or rather, they do, but only after hovering over the list. The common wisdom is that this has been broken in IE for a long time.

  • “Our project does some DNS resolution. Is there a preferred way to mock this in tests?”

No suggestions.

  • “When replying to an email each email system adds different junk to the message. We’re processing those incoming replies. Any standard way to strip out the junk?”

Everyone is using the ugly regex approach. Are there mail gems that handle this?

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Topics

  • agile (781)
  • rails (114)
  • testing (88)
  • ruby (84)
  • ruby on rails (70)
  • jobs (62)
  • javascript (56)
  • techtalk (44)
  • rspec (38)
  • ironblogger (32)
  • productivity (30)
  • activerecord (29)
  • gogaruco (29)
  • git (28)
  • nyc (27)
  • rubymine (26)
  • bloggerdome (24)
  • mobile (22)
  • process (21)
  • pivotal tracker (21)
  • cucumber (20)
  • design (19)
  • jasmine (19)
  • ios (18)
  • webos (17)
  • objective-c (17)
  • android (16)
  • tracker ecosystem (16)
  • palm (16)
  • "soft" ware (16)
  • fun (15)
  • ci (15)
  • cedar (15)
  • rails3 (14)
  • performance (14)
  • bdd (14)
  • tdd (14)
  • gem (13)
  • css (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 agile Feed
  1. ←
  2. 1
  3. ...
  4. 12
  5. 13
  6. 14
  7. 15
  8. 16
  9. 17
  10. 18
  11. ...
  12. 79
  13. →
  • 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 >