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

Pivotal Labs

Standup 10/15/2010: OAuth without net/http, right_aws with webmock oddities, which gem for aws

Pivotal Labs
Friday, October 15, 2010

Help

“Anybody have any experience using the oath gem without net/http? There are some things we want to do that it’s not good at”

Like posting large files? Shell out to curl. There are a couple things nobody seems to have done right, yet, and that you just have to use curl for.

“What is the right gem to use for AWS? The official one seems newer than this right_aws that hasn’t had a commit in a couple years”

You are probably looking at the wrong version. Another project was using right_aws and they swear it’s newer than that. It sounds like the gem forked and you probably want the RightScale one. Either way it definitely works better than Amazons ec2 gem, which will get the job done sometimes, but is less than optimal.

Interesting

Testing right_aws with webmock

A team was seeing webmock continuing to feed a bad result to all of their tests (within a timeout for the shared connection) when one failed, instead of trying again. They switched to using connection=dedicated instead of shared.

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

Interacting with AWS S3 in ruby…

Mike Gehard
Friday, October 15, 2010

If you are looking for a ruby gem to interact with S3, you may want to choose the S3 gem over the AWS::S3 gem.

The S3 gem seems to be under active development while the AWS::S3 gem gem seems to have gotten a little stale.

I mistakenly chose the AWS::S3 gem gem based on the number of downloads on rubygems.org but it was missing the ability to copy from one S3 bucket to another without having to move the files through my local machine. That will teach me for not reading the source code…

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

Standup 10/14/2010: Digest Auth with filters, Flot FTW, Jasmine in Selenium size issues

Pivotal Labs
Thursday, October 14, 2010

Help

“We’re using Rails 2.3.x built-in Digest Auth to hide the production/demo env of a site that doesn’t have a user model yet. It seems like every few requests we have to reauth – possible worse when multiple computers request concurrently”

Make sure there aren’t any failing requests (such as an ajax firing off an illegal route) that might be causing the browser to think it is no longer authed? Maybe just stick with using Basic Auth via an .htaccess? A number of other comments and guessed were thrown around, but nothing conclusive.

Interesting

Flot FTW

The team asking about charting yesterday said Flot was the answer. Highchart has licensing/pricing they didn’t like, Graphael might be getting stale, as it hadn’t been touched in a while, and they needed more data than the GET limit, which prevents the use of Google Charts.

Some Jasmine tests were failing on CI in Selenium, but not locally.

It turned out to be some tests that fail when the window size is to small. The team bringing this up added a helper for Jasmine to resize the window if it was too small. Another team mentioned new Selenium runs fullscreen by default. Another team gave the Jasmine test block a static style and large size in css.

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

Standup 10/13/2010: Charting suggestions, rvm issues, spewing errors to hoptoad/newrelic

Pivotal Labs
Wednesday, October 13, 2010

Help

“Anybody have a favorite for charting on the client-side?”

Google charts works well for getting something simple going quickly, use Flot for anything beyond that. Some people mentioned the existence of Raphael.js, but nobody had much experience with it.

“We had to make sure we were using rvm as a function instead of a binary and-”

You installed it wrong – the install checks that rvm is a function.

“We are seeing a lot of errors (more than the hoptoad limits) going to hoptoad and newrelic for error types that are handled by rails built-in rescues, like 404s for ActiveRecord::RecordNotFound. The app is serving up the correct error page, but still sending an error to the services.”

These services hook in lower than that so they can get all error info. Make sure nothing happened to their config of which errors to ignore, because they have their own way of skipping them.

Also consider turning off the default route to cut back on crawlers. This would likely just trade 405s for 404s, though.

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

Essential Artists

Mike Barinek
Tuesday, October 12, 2010

Inspired by Aaron Patterson at the Mountain.rb Conference, I thought I’d share my favorite programming/software engineering books.

  • C Programming Language (2nd Edition) by Brian W. Kernighan and Dennis M. Ritchie (1988)
  • Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (1994)
  • Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman (1995)
  • Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, and William Opdyke (1999)
  • Peopleware: Productive Projects and Teams (Second Edition) by Tom DeMarco and Timothy Lister (1999)
  • Extreme Programming Explained: Embrace Change by Kent Beck (1999)
  • Effective Java by Joshua Bloch (2001)
  • Test Driven Development: By Example by Kent Beck (2002)
  • Refactoring to Patterns by Joshua Kerievsky (2004)
  • Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Bloch, and Joseph Bowbeer (2006)
  • Restful Web Services by Leonard Richardson, Sam Ruby, and David Heinemeier Hansson (2007)
  • Getting Real: The smarter, faster, easier way to build a successful web application by Jason Fried, Heinemeier David Hansson, and Matthew Linderman (2009)
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Pivotal Labs

Standup 10/12/2010: checking in Gemfile.lock versus ruby version differences

Pivotal Labs
Tuesday, October 12, 2010

Help

“Yesterday we agreed to always check in the Gemfile.lock, but 1.8 and 1.9 versions differ slightly so…?”

It wouldn’t quite make sense to maintain a whole separate branch, but someone cleverly suggested making the file a symlink and having your .rvmrc manage which file the symlink points to.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Sean Beckett

New Tech Talk: Insightster

Sean Beckett
Monday, October 11, 2010

The founders of Irrational Design present Insightster, an app to help you encourage, discuss, iterate on, rediscover, prioritize, and execute on ideas from all over your organization. They demo a “Clean out your Icebox” Pivotal Tracker integration.

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

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

Standup 10/11/2010: checking in Gemfile.lock, chef client-server, rspec test vs. develoment, and IE7 only quirks mode

Pivotal Labs
Monday, October 11, 2010

Ask for Help

“Does everybody check their Gemfile.lock into source control?”

Yes! Yehuda said so and if you don’t the earth might fall into the sun.

“Anybody have any experience using chef client-server?”

A number of people said they had seen it go down in flames and get ripped out of projects in favor of chef solo.

*”Is there a way to get IE7 to render in quirks mode, but IE8 and everything else in standards?”

Not that anybody knows of. IE6 can be triggered by an xml prolog before the doctype, but they fixed that for IE7. So your choices are IE6 and earlier in quirks and IE7+ in standard, or all IEs in quirks.

Interesting Things

  • A pivot had trouble with rspec being not be installed in development mode and getting rake spec to run right, but others had had no trouble with it in test env only.

  • You can do layouts in pure css that used to be a lot of work, like 100% height with fixed px headers/footers, using the display:table|table-row|table-cell styles.

This will work in the standards based browsers and IE8+. This means you need to use an alternative for IE7, either js, expressions in an IE only stylesheet, or a quirks-mode based layout using fixed padding. I experimented with this over the week-end and blogged about it: The new css 100% width and height with header and sidebar

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Insightster

Friday, October 8, 2010 | Run time: 48:11

The founders of Irrational Design present Insightster, an app to help you encourage, discuss, iterate on, rediscover, prioritize, and execute on ideas from all over your organization. They demo a “Clean out your Icebox” Pivotal Tracker integration.

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

Startup Recipe

Mike Barinek
Friday, October 8, 2010

If you’re thinking about starting a software project, here’s the recipe that I’ve been giving people.

Have complete visibility into your feature backlog

(i.e. what is happening with your software)

Use a tool like Pivotal Tracker. Have 1 week iterations. Include features, chores, and bugs. Assign points to features. Work should be getting done (i.e. stories should be marked as finished, and you should have a weekly point total). If work isn’t getting done (i.e. point count is low for an iteration), this is a ‘smell’, something might be going wrong. Regularly review and accept the work the developers are doing.

Outsource your infrastructure

  • Sign up for an account on GitHub
  • Sign up for an account on Heroku, Engine Yard, or Amazon.
  • Use Gmail, GoogleApps

Own your source code

Use git. Own your github account and give collaborator access to developers. Developers may move on or off the project, but you’ll always have access to the code base.

Plan for multiple Environments

You should plan for 3 environments, Continuous Integration (CI), Review, and Production. You’ll accept stories in the review environment and push tagged releases to production.

Keep a high Bus Count

Rotate developers through your application feature set. Avoid siloing developers at all costs, “code with a buddy”. Give complete infrastructure access to your developers (DNS, Google Apps/Email, and infrastructure), trust them completely.

Write tests and setup a continuous integration environment

Tests are essential for describing application features and intentions within the code base. Tests are essential for knowledge transfer between developers (it’s unlikely that you’ll have the same developer on the project at all times). Tests give you the confidence to change product direction without breaking or rewriting the entire code base. Without tests, you should quit now. (This is especially true for interpreted languages like ruby). Test drive.

Keep the deployment process nimble

Because you are test driving and have continuous integration, you can deploy at any time. Give your hosting credentials (engine yard, amazon, etc.) to your developers. They should be able to deploy to review or production within minutes (not hours).

Invest in your team

Don’t let bad technology choices effect your startup, there are plenty of risks out there. Find a platform and team that will guarantee minimal technical risk. There’s a huge difference developer skill sets theses days. Find a great team and pay them well. Good software is expensive, build and invest in your development team. Expect this to be your budget and hire generalists.

  • 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. →
  • 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 >