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
Jacob Maine

Standup 1/30/2012: It’s all about sharing

Jacob Maine
Monday, January 30, 2012

Interesting Things

  • should_not render_with_layout can be flaky. For example, asserting that an XHR request doesn’t have a layout could fail if the request renders an email template that does have a layout. These matchers are not very sophisticated, mostly doing string matching, not real template resolution.

Ask for Help

  • “How do I test relative time with FixtureBuilder?”

Since the models are all built beforehand, it’s tricky to write tests that make assertions about relative time. There were a variety of suggestions. You can write all the tests relative to a model: some_time.should == model.created_at - 3.days. You can wrap the entire suite and fixture generation in a Timecop block, but you’ll have to deal with losing that context whenever any test calls Timecop.return.

  • “How do I separate multiple FixtureBuilder files, but allow them to reference objects created in each other?”

Typically you want to separate fixtures into smaller files. But, you also often want to reference objects in other files, for example so you can assign a user from user_fixtures.rb to a post in post_fixtures.rb. One solution is to eval each file in a loop, so they can share instance variables. You can also use User.where(:name => "Tom") but that’s awkward and repetitive.

  • “Any suggestions for a CMS that would allow lots of different visual presentations of the content?”

The questioner is experimenting with branding. Not many suggestions… a shared database perhaps?

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Pivotal Labs

Standup 01/19/2012: Dont stretch those cables

Pivotal Labs
Thursday, January 19, 2012

Ask for Help

How to scrub production data

  • try my_obfuscate
  • use handcrafted update-all sql

Interesting Things

  • Do not stretch monitor cables, they make the ports break
  • MySql: Different os have different rules on table case sensitivity(My_Table <-> my_table), be strict or you get into trouble
  • validates_acceptance_of can crash your asest:precompile on heroku (because it uses the db when loaded, but db is not yet ready), least hacky solution: validates_acceptance_of xxx unless ENV['RAILS_ASSETS_PRECOMPILE']
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Ken Mayer

Social Chorus is looking for a Ruby on Rails Engineer

Ken Mayer
Wednesday, January 18, 2012

At Pivotal Labs, one of the services we provide our clients is helping them interview and hire. Pivotal Labs and our clients place a strong emphasis on Agile development and its many aspects: Pair Programming, Test-Driven Development, rapid iterations, and frequent refactoring.

Halogen Media Group merged with YouCast Corp. to collaborate in forming a powerhouse of technology, Social Chorus (http://socialchorus.com), that measures social reach through paid and earned media through influencer distribution.

Here’s the job posting:

Overview

Are you looking for a chance to do agile development? Do you want to immerse yourself in extreme programming using test driven development? Then Social Chorus is for you.

On to our development practices. We are on Rails 3.1.1 with deployment on Heroku and test driving EVERYTHING with Rspec, Jasmine, and Selenium. We are running Jenkins on our Amazon EC2 cloud for our continuous integration tests and firing it off on every push to Github. Every Monday we have an internal planning meeting that includes the dev team along with our project manager to go over upcoming features, stories that need discussion, and story estimation. Why stories? To manage the project and all the components that drive its development we use Pivotal Tracker, the collaborative, lightweight agile project management tool, brought to you by the experts in agile software development. Mornings start with stand-ups to go over the previous day’s work, work for the current day, or any blockers anybody might have. Pair programming and green tests make the day fly by with the gratification of clean code without broken windows. Our analytics module runs in the cloud, hitting nginx, aggregating all data into our sharded MongoDB database. Like to map/reduce over extremely large data sets? Sweet.

Perks. Our development is fueled by a fully stocked kitchen and beer bashes at least once a month. Team dinners, ski/snowboard trips, lunchtime crosswords, Giants games, are some of the enjoyable company sponsored events. Halloween and Christmas parties also keep us busy as the holidays get closer. On top of that, we have competitive salaries and a semi-annual bonus plan.

Currently we are boot-strapping with Pivotal Labs at their office at 875 Howard St. Upon the end of our engagement with them, which tentatively concludes at the end February, we are moving back to our home base located in SOMA, China Basin, right next to AT&T Park to join the rest of the team. Come join our team and show off your Ruby on Rails chops!

Responsibilities

  • Test Drive everything
  • Push out awesome code
  • Pair well with each other
  • Constantly stay up to date with technology

Experience

  • Ruby on Rails
  • RSpec
  • CSS
  • JavaScript
  • Database Architecture
  • Heroku is a plus

Skills

  • Ruby on Rails
  • RSpec
  • CSS
  • JavaScript
  • Database Architecture
  • MongoDB is a plus
  • NGINX is a plus
  • Amazon EC2 is a plus

Education

BS Computer Science or equivalent

Compensation

Depends on experience

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Pivotal Labs

Standup 01/18/2012: Scream

Pivotal Labs
Wednesday, January 18, 2012

Ask for Help

Enunciate

Adam cant hear you, speak up!

Job chaining in resque

Start the next after the first finishes or create a big wrapper job that does all of them

Inherited resource

Change objects before rendering — no good answer found

Interesting Things

  • Dynamo DB from AWS is out, aparently its faster then simpledb
  • SOPA protest today, if you need wiki, try to disable javascript or go to mobile
  • June 6th is IPV6 day (all IPV4 gets switched off ;) )
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Pivotal Labs

Standup 01/17/2012: Cross-Site Development

Pivotal Labs
Tuesday, January 17, 2012

Helpful Things

“I’m making an HTML5 web app that consumes a web service, and in development the browser is blocking cross-site requests from localhost. How can I just turn off this security while developing?”

Chrome has a command-line flag just for this occasion! –disable-xss-auditor
For everything else, change your hosts file to have the target site on localhost.

“Rails 3.1 seems to be slowing down my test suite to be about twice as slow. Seems to have something to do with garbage collection time. Thoughts?”

… no one had any definite answers.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joseph Palermo

Standup 01/13/2012: Will the real 13th please stand up

Joseph Palermo
Friday, January 13, 2012

Ask for Help

“When using the wkhtmltopdf library via the PDFKit gem, if you use an HTML snippet that does not have a height defined, it generates a PDF that appears to only be an image, the text is not searchable or selectable. If you give your element a height however, it behaves as you would expect. Both PDF documents visually look the same though.”

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joseph Palermo

Standup 01/13/2012: I certainly don’t have a branch named "-"

Joseph Palermo
Friday, January 13, 2012

Ask for Help

“Trying to write a custom Rails I18n exception handler to catch MissingTranslationData exceptions”

The API didn’t seem to do what it claimed it should.

“RubyMine EAP undo behavior seems broken, it only wants to undo a file deletion, and then go back no farther in history.”

It was suggested that RubyMine undo is context sensitive, and having focus on the file browser has a different undo stack from the editor window.

“mysql2 gem on Lion is giving us an error: “Library not loaded… Image not found” and then a path pointing down into our RVM directory.”

Building the gem with options pointing to your mysql directory was suggested.

Interesting Things

“git checkout -” will toggle you between your last two checkouts (branches or just plain SHA’s). Handy if you are switching back and forth. Can’t seem to find it mentioned anywhere in the docs though.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Grant Hutchins

Standup 01/09/2012: Lightning and Rakes

Grant Hutchins
Tuesday, January 10, 2012

Help

“RSpec 2.8 is out. The Rake runner in TeamCity isn’t yet working.”

The suggestion was to update to an EAP release of TeamCity.

Events

  • Tuesday, January 10, 2012: NYC.rb lightning talks, pizza, and beer after work at Pivotal NYC.
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Johan Ismael

[Standup][SF] 12/30/2011 Moving

Johan Ismael
Friday, December 30, 2011

Ask for Help

“Is there way to test if the Active Record associations you’re trying to eager load with :includes are actually loaded?”

One solution would be to call .loaded on the proxy object which control the access to associations. Another would be to count the sql queries that the block of code makes.

Interesting things

When you query a table with a column containing string values, if you do Model.where(:string => 0) without using quotes for the 0, Rails will not to_s the 0 for you and the query will return the entire table.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Johan Ismael

[Standup][SF] 12-28-2011 X-window communication and remote files

Johan Ismael
Wednesday, December 28, 2011

Ask for Help

“What’s the best way to deal with cross-window communication?”

It’s done for now by having the Javascript constantly polling the server. Some other solutions could be using long-polling, websockets (to use websockets with Rails, EM-WebSocket seems to be a good solution). If you have a better answer, Matthew Kocher would be interested!

Interesting Things

“If you want to read remote files, the best way to do it is using GET requests.”

One alternative would be to use run ‘cat filename’ which gives you a text output that you can store. But the issue with this option is that it will add control characters in your text which cannot be parsed and can consequently make everything blow up.

  • 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 agile Feed
  1. ←
  2. 1
  3. ...
  4. 13
  5. 14
  6. 15
  7. 16
  8. 17
  9. 18
  10. 19
  11. ...
  12. 78
  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 >